{"version":3,"sources":["images.js","utils.js","photoGallery.js","components/footer.jsx","components/nav.jsx","components/logo.jsx","App.jsx","components/galleryPage.jsx","components/home.jsx","components/code.jsx","components/blog/converting.jsx","components/blog/test.jsx","components/blog.jsx","components/projects.jsx","components/notfound.jsx","AppRouter.jsx","serviceWorker.js","index.js"],"names":["images","src","w","h","filename","pid","title","Utils","parseUrlHash","hash","gid","localAnchorId","match","toLowerCase","hashLinkScroll","id","setTimeout","element","document","getElementById","scrollIntoView","getRandomInt","min","max","Math","floor","random","sendPageView","window","ga","page","location","href","console","log","PhotoGallery","_this","this","Object","classCallCheck","loadGallery","index","pswpElement","querySelectorAll","Number","isInteger","parseInt","length","findIndex","o","options","history","galleryPIDs","gallery","PhotoSwipe","PhotoSwipeUI_Default","listen","sendAnalyticsEvent","bind","init","randomGalleryPic","range","utils","currItem","hitType","eventCategory","eventAction","eventLabel","GID","Footer","render","react_default","a","createElement","className","target","rel","alt","React","Component","Nav","props","possibleConstructorReturn","getPrototypeOf","call","themes","name","value","firstLoadOk","updateState","ev","theme","setState","state","currentTheme","layoutRoot","classList","remove","photoswipeEl","add","getRandomTheme","eligible","filter","_this2","addEventListener","querySelector","themeSelector","react_router_dom","exact","to","pathname","style","position","onChange","map","item","i","arr","key","Logo","viewBox","preserveAspectRatio","version","xmlns","transform","textAnchor","fontSize","x","y","width","height","xlinkHref","visibility","App","myGlobals","audioContext","close","nav","search","logo","children","footer","UrlIsTheSame","previousUrl","_document$location","assign","action","_document$location2","url","pushState","prevProps","scrollTo","Gallery","THUMBFOLDER","test","react_router","path","concat","component","LinkGallery","ThumbGallery","sort","b","img","array","localeCompare","Home","links","text","onClick","margin","padding","link","Code","clear","float","Converting","textDecoration","role","aria-label","Test","Blog","DefaultBlog","Projects","NotFound","Fragment","display","alignItems","justifyContent","AppRouter","components","home","code","projects","GalleryPage","blog","applications","default","RoutedApp","withRouter","application","is404Redirect","requestedPageIsValid","getPathFromQueryString","routes","componentDidMount","event","Boolean","hostname","ReactDOM","src_AppRouter","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.b691413e.chunk.js","sourcesContent":["var images = [{\"src\":\"/public_images/appalachianTrailWeverton.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"appalachianTrailWeverton.jpg\",\"pid\":\"appalachiantrailweverton\",\"title\":\"Appalachian Trail Weverton\"},{\"src\":\"/public_images/appalachianTrailWeverton2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"appalachianTrailWeverton2.jpg\",\"pid\":\"appalachiantrailweverton2\",\"title\":\"Appalachian Trail Weverton\"},{\"src\":\"/public_images/badlands.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"badlands.jpg\",\"pid\":\"badlands\",\"title\":\"Badlands\"},{\"src\":\"/public_images/badlands2.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"badlands2.jpg\",\"pid\":\"badlands2\",\"title\":\"Badlands\"},{\"src\":\"/public_images/badlands3.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"badlands3.jpg\",\"pid\":\"badlands3\",\"title\":\"Badlands\"},{\"src\":\"/public_images/badlandsNotchTrail.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"badlandsNotchTrail.jpg\",\"pid\":\"badlandsnotchtrail\",\"title\":\"Badlands Notch Trail\"},{\"src\":\"/public_images/badlandsNotchTrail2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"badlandsNotchTrail2.jpg\",\"pid\":\"badlandsnotchtrail2\",\"title\":\"Badlands Notch Trail\"},{\"src\":\"/public_images/BadlandsOldNortheastRd3.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"BadlandsOldNortheastRd3.jpg\",\"pid\":\"badlandsoldnortheastrd3\",\"title\":\"Badlands Old Northeast Rd\"},{\"src\":\"/public_images/becontree.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"becontree.jpg\",\"pid\":\"becontree\",\"title\":\"Becontree\"},{\"src\":\"/public_images/BigBadlandsOverlook2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"BigBadlandsOverlook2.jpg\",\"pid\":\"bigbadlandsoverlook2\",\"title\":\"Big Badlands Overlook\"},{\"src\":\"/public_images/blackberry.jpg\",\"w\":3000,\"h\":4000,\"filename\":\"blackberry.jpg\",\"pid\":\"blackberry\",\"title\":\"Blackberry\"},{\"src\":\"/public_images/blackberry2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"blackberry2.jpg\",\"pid\":\"blackberry2\",\"title\":\"Blackberry\"},{\"src\":\"/public_images/blackberry3.jpg\",\"w\":2988,\"h\":5312,\"filename\":\"blackberry3.jpg\",\"pid\":\"blackberry3\",\"title\":\"Blackberry\"},{\"src\":\"/public_images/blackberryWithTowelAndClock.jpg\",\"w\":3024,\"h\":5376,\"filename\":\"blackberryWithTowelAndClock.jpg\",\"pid\":\"blackberrywithtowelandclock\",\"title\":\"Blackberry With Towel And Clock\"},{\"src\":\"/public_images/botanicalGardens.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"botanicalGardens.jpg\",\"pid\":\"botanicalgardens\",\"title\":\"Botanical Gardens\"},{\"src\":\"/public_images/BridalVeilFalls2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"BridalVeilFalls2.jpg\",\"pid\":\"bridalveilfalls2\",\"title\":\"Bridal Veil Falls\"},{\"src\":\"/public_images/BridalVeilFalls4.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"BridalVeilFalls4.jpg\",\"pid\":\"bridalveilfalls4\",\"title\":\"Bridal Veil Falls\"},{\"src\":\"/public_images/BridalVeilFallsAscent.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"BridalVeilFallsAscent.jpg\",\"pid\":\"bridalveilfallsascent\",\"title\":\"Bridal Veil Falls Ascent\"},{\"src\":\"/public_images/BridalVeilFallsChipmunk.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"BridalVeilFallsChipmunk.jpg\",\"pid\":\"bridalveilfallschipmunk\",\"title\":\"Bridal Veil Falls Chipmunk\"},{\"src\":\"/public_images/BuffaloGapBadlandsInDistance.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"BuffaloGapBadlandsInDistance.jpg\",\"pid\":\"buffalogapbadlandsindistance\",\"title\":\"Buffalo Gap Badlands In Distance\"},{\"src\":\"/public_images/butterCups.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"butterCups.jpg\",\"pid\":\"buttercups\",\"title\":\"Butter Cups\"},{\"src\":\"/public_images/butterflyPavilion.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"butterflyPavilion.jpg\",\"pid\":\"butterflypavilion\",\"title\":\"Butterfly Pavilion\"},{\"src\":\"/public_images/butterflyPavilionBicyclusAnynana.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"butterflyPavilionBicyclusAnynana.jpg\",\"pid\":\"butterflypavilionbicyclusanynana\",\"title\":\"Butterfly Pavilion Bicyclus Anynana\"},{\"src\":\"/public_images/butterflyPavilionPipevineSwallowTail.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"butterflyPavilionPipevineSwallowTail.jpg\",\"pid\":\"butterflypavilionpipevineswallowtail\",\"title\":\"Butterfly Pavilion Pipevine Swallow Tail\"},{\"src\":\"/public_images/camouflage.jpg\",\"w\":3000,\"h\":4000,\"filename\":\"camouflage.jpg\",\"pid\":\"camouflage\",\"title\":\"Camouflage\"},{\"src\":\"/public_images/CanfieldMountainNaturalArea.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"CanfieldMountainNaturalArea.jpg\",\"pid\":\"canfieldmountainnaturalarea\",\"title\":\"Canfield Mountain Natural Area\"},{\"src\":\"/public_images/CezanneStillLifeWithSkull.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"CezanneStillLifeWithSkull.jpg\",\"pid\":\"cezannestilllifewithskull\",\"title\":\"Cezanne Still Life With Skull\"},{\"src\":\"/public_images/chincoteagueGrass.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"chincoteagueGrass.jpg\",\"pid\":\"chincoteaguegrass\",\"title\":\"Chincoteague Grass\"},{\"src\":\"/public_images/chincoteagueLighthouse.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"chincoteagueLighthouse.jpg\",\"pid\":\"chincoteaguelighthouse\",\"title\":\"Chincoteague Lighthouse\"},{\"src\":\"/public_images/chiSkyline.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"chiSkyline.jpg\",\"pid\":\"chiskyline\",\"title\":\"Chi Skyline\"},{\"src\":\"/public_images/chiSlice.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"chiSlice.jpg\",\"pid\":\"chislice\",\"title\":\"Chi Slice\"},{\"src\":\"/public_images/cinderInBox.JPG\",\"w\":2448,\"h\":3264,\"filename\":\"cinderInBox.JPG\",\"pid\":\"cinderinbox\",\"title\":\"Cinder In Box\"},{\"src\":\"/public_images/clarkFork.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"clarkFork.jpg\",\"pid\":\"clarkfork\",\"title\":\"Clark Fork\"},{\"src\":\"/public_images/ColumbiaRiver3.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"ColumbiaRiver3.jpg\",\"pid\":\"columbiariver3\",\"title\":\"Columbia River\"},{\"src\":\"/public_images/ColumbiaRiver4.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"ColumbiaRiver4.jpg\",\"pid\":\"columbiariver4\",\"title\":\"Columbia River\"},{\"src\":\"/public_images/daisiesWithKnapweed.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"daisiesWithKnapweed.jpg\",\"pid\":\"daisieswithknapweed\",\"title\":\"Daisies With Knapweed\"},{\"src\":\"/public_images/danielInTheLionsDen.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"danielInTheLionsDen.jpg\",\"pid\":\"danielinthelionsden\",\"title\":\"Daniel In The Lions Den\"},{\"src\":\"/public_images/deepCrimson.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"deepCrimson.jpg\",\"pid\":\"deepcrimson\",\"title\":\"Deep Crimson\"},{\"src\":\"/public_images/devilsHead3.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"devilsHead3.jpg\",\"pid\":\"devilshead3\",\"title\":\"Devils Head\"},{\"src\":\"/public_images/devilsHeadChimneyRock.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"devilsHeadChimneyRock.jpg\",\"pid\":\"devilsheadchimneyrock\",\"title\":\"Devils Head Chimney Rock\"},{\"src\":\"/public_images/devilsHeadChimneyRock2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"devilsHeadChimneyRock2.jpg\",\"pid\":\"devilsheadchimneyrock2\",\"title\":\"Devils Head Chimney Rock\"},{\"src\":\"/public_images/devilsHeadChimneyRock3.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"devilsHeadChimneyRock3.jpg\",\"pid\":\"devilsheadchimneyrock3\",\"title\":\"Devils Head Chimney Rock\"},{\"src\":\"/public_images/devilsHeadSkyLounge.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"devilsHeadSkyLounge.jpg\",\"pid\":\"devilsheadskylounge\",\"title\":\"Devils Head Sky Lounge\"},{\"src\":\"/public_images/devilsHeadSkyLounge2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"devilsHeadSkyLounge2.jpg\",\"pid\":\"devilsheadskylounge2\",\"title\":\"Devils Head Sky Lounge\"},{\"src\":\"/public_images/devilsPaintbrush.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"devilsPaintbrush.jpg\",\"pid\":\"devilspaintbrush\",\"title\":\"Devils Paintbrush\"},{\"src\":\"/public_images/discovery.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"discovery.jpg\",\"pid\":\"discovery\",\"title\":\"Discovery\"},{\"src\":\"/public_images/discovery2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"discovery2.jpg\",\"pid\":\"discovery2\",\"title\":\"Discovery\"},{\"src\":\"/public_images/discovery3.jpg\",\"w\":3000,\"h\":4000,\"filename\":\"discovery3.jpg\",\"pid\":\"discovery3\",\"title\":\"Discovery\"},{\"src\":\"/public_images/doubleRainbow.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"doubleRainbow.jpg\",\"pid\":\"doublerainbow\",\"title\":\"Double Rainbow\"},{\"src\":\"/public_images/floweringBridgeSmile.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"floweringBridgeSmile.jpg\",\"pid\":\"floweringbridgesmile\",\"title\":\"Flowering Bridge Smile\"},{\"src\":\"/public_images/floweringBridgeWOTY.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"floweringBridgeWOTY.jpg\",\"pid\":\"floweringbridgewoty\",\"title\":\"Flowering Bridge WOTY\"},{\"src\":\"/public_images/fossilRim.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"fossilRim.jpg\",\"pid\":\"fossilrim\",\"title\":\"Fossil Rim\"},{\"src\":\"/public_images/fossilRim2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"fossilRim2.jpg\",\"pid\":\"fossilrim2\",\"title\":\"Fossil Rim\"},{\"src\":\"/public_images/FourLeafedClover.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"FourLeafedClover.jpg\",\"pid\":\"fourleafedclover\",\"title\":\"Four Leafed Clover\"},{\"src\":\"/public_images/ftWorth.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"ftWorth.jpg\",\"pid\":\"ftworth\",\"title\":\"Ft Worth\"},{\"src\":\"/public_images/gettysburgMilitaryPark.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"gettysburgMilitaryPark.jpg\",\"pid\":\"gettysburgmilitarypark\",\"title\":\"Gettysburg Military Park\"},{\"src\":\"/public_images/gettysburgMilitaryPark2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"gettysburgMilitaryPark2.jpg\",\"pid\":\"gettysburgmilitarypark2\",\"title\":\"Gettysburg Military Park\"},{\"src\":\"/public_images/grahamCave.jpg\",\"w\":2988,\"h\":5312,\"filename\":\"grahamCave.jpg\",\"pid\":\"grahamcave\",\"title\":\"Graham Cave\"},{\"src\":\"/public_images/grahamCave2.jpg\",\"w\":2976,\"h\":5312,\"filename\":\"grahamCave2.jpg\",\"pid\":\"grahamcave2\",\"title\":\"Graham Cave\"},{\"src\":\"/public_images/grahams.jpg\",\"w\":2988,\"h\":5312,\"filename\":\"grahams.jpg\",\"pid\":\"grahams\",\"title\":\"Grahams\"},{\"src\":\"/public_images/grantPark.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"grantPark.jpg\",\"pid\":\"grantpark\",\"title\":\"Grant Park\"},{\"src\":\"/public_images/greatVirginiaBlizzard2018.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"greatVirginiaBlizzard2018.jpg\",\"pid\":\"greatvirginiablizzard2018\",\"title\":\"Great Virginia Blizzard 2018\"},{\"src\":\"/public_images/hawksbillSummitLoop.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"hawksbillSummitLoop.jpg\",\"pid\":\"hawksbillsummitloop\",\"title\":\"Hawksbill Summit Loop\"},{\"src\":\"/public_images/HazeltonWilloughby.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"HazeltonWilloughby.jpg\",\"pid\":\"hazeltonwilloughby\",\"title\":\"Hazelton Willoughby\"},{\"src\":\"/public_images/Hermes.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"Hermes.jpg\",\"pid\":\"hermes\",\"title\":\"Hermes\"},{\"src\":\"/public_images/ironmountainRd.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"ironmountainRd.jpg\",\"pid\":\"ironmountainrd\",\"title\":\"Ironmountain Rd\"},{\"src\":\"/public_images/ironmountainRd2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"ironmountainRd2.jpg\",\"pid\":\"ironmountainrd2\",\"title\":\"Ironmountain Rd\"},{\"src\":\"/public_images/ironmountainRdHTCOne.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"ironmountainRdHTCOne.jpg\",\"pid\":\"ironmountainrdhtcone\",\"title\":\"Ironmountain Rd HTCOne\"},{\"src\":\"/public_images/ironmountainRdNote4.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"ironmountainRdNote4.jpg\",\"pid\":\"ironmountainrdnote4\",\"title\":\"Ironmountain Rd Note\"},{\"src\":\"/public_images/jonah.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"jonah.jpg\",\"pid\":\"jonah\",\"title\":\"Jonah\"},{\"src\":\"/public_images/koreanMemorial.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"koreanMemorial.jpg\",\"pid\":\"koreanmemorial\",\"title\":\"Korean Memorial\"},{\"src\":\"/public_images/lakeFairfax.jpg\",\"w\":3024,\"h\":5376,\"filename\":\"lakeFairfax.jpg\",\"pid\":\"lakefairfax\",\"title\":\"Lake Fairfax\"},{\"src\":\"/public_images/lakeFairfax2.jpg\",\"w\":3024,\"h\":5376,\"filename\":\"lakeFairfax2.jpg\",\"pid\":\"lakefairfax2\",\"title\":\"Lake Fairfax\"},{\"src\":\"/public_images/LakePadden.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"LakePadden.jpg\",\"pid\":\"lakepadden\",\"title\":\"Lake Padden\"},{\"src\":\"/public_images/LakePadden2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"LakePadden2.jpg\",\"pid\":\"lakepadden2\",\"title\":\"Lake Padden\"},{\"src\":\"/public_images/LakePadden3.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"LakePadden3.jpg\",\"pid\":\"lakepadden3\",\"title\":\"Lake Padden\"},{\"src\":\"/public_images/madisonBuffaloJump.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"madisonBuffaloJump.jpg\",\"pid\":\"madisonbuffalojump\",\"title\":\"Madison Buffalo Jump\"},{\"src\":\"/public_images/madisonBuffaloJump2.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"madisonBuffaloJump2.jpg\",\"pid\":\"madisonbuffalojump2\",\"title\":\"Madison Buffalo Jump\"},{\"src\":\"/public_images/madisonBuffaloJump3.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"madisonBuffaloJump3.jpg\",\"pid\":\"madisonbuffalojump3\",\"title\":\"Madison Buffalo Jump\"},{\"src\":\"/public_images/madisonBuffaloJump4.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"madisonBuffaloJump4.jpg\",\"pid\":\"madisonbuffalojump4\",\"title\":\"Madison Buffalo Jump\"},{\"src\":\"/public_images/madisonBuffaloJump5.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"madisonBuffaloJump5.jpg\",\"pid\":\"madisonbuffalojump5\",\"title\":\"Madison Buffalo Jump\"},{\"src\":\"/public_images/madisonBuffaloJump6.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"madisonBuffaloJump6.jpg\",\"pid\":\"madisonbuffalojump6\",\"title\":\"Madison Buffalo Jump\"},{\"src\":\"/public_images/madisonBuffaloJump7.jpg\",\"w\":2988,\"h\":5312,\"filename\":\"madisonBuffaloJump7.jpg\",\"pid\":\"madisonbuffalojump7\",\"title\":\"Madison Buffalo Jump\"},{\"src\":\"/public_images/mannerism.jpg\",\"w\":3000,\"h\":4000,\"filename\":\"mannerism.jpg\",\"pid\":\"mannerism\",\"title\":\"Mannerism\"},{\"src\":\"/public_images/marguerites.jpg\",\"w\":3024,\"h\":5376,\"filename\":\"marguerites.jpg\",\"pid\":\"marguerites\",\"title\":\"Marguerites\"},{\"src\":\"/public_images/monolith.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"monolith.jpg\",\"pid\":\"monolith\",\"title\":\"Monolith\"},{\"src\":\"/public_images/MountIndex2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"MountIndex2.jpg\",\"pid\":\"mountindex2\",\"title\":\"Mount Index\"},{\"src\":\"/public_images/mourningDovesArePigeons.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"mourningDovesArePigeons.jpg\",\"pid\":\"mourningdovesarepigeons\",\"title\":\"Mourning Doves Are Pigeons\"},{\"src\":\"/public_images/mtBaker.jpg\",\"w\":2988,\"h\":5312,\"filename\":\"mtBaker.jpg\",\"pid\":\"mtbaker\",\"title\":\"Mt Baker\"},{\"src\":\"/public_images/mtBaker2.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"mtBaker2.jpg\",\"pid\":\"mtbaker2\",\"title\":\"Mt Baker\"},{\"src\":\"/public_images/mtBaker3.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"mtBaker3.jpg\",\"pid\":\"mtbaker3\",\"title\":\"Mt Baker\"},{\"src\":\"/public_images/mtBaker4.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"mtBaker4.jpg\",\"pid\":\"mtbaker4\",\"title\":\"Mt Baker\"},{\"src\":\"/public_images/mtKearsarge.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"mtKearsarge.jpg\",\"pid\":\"mtkearsarge\",\"title\":\"Mt Kearsarge\"},{\"src\":\"/public_images/mtKearsarge2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"mtKearsarge2.jpg\",\"pid\":\"mtkearsarge2\",\"title\":\"Mt Kearsarge\"},{\"src\":\"/public_images/mtKearsarge3.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"mtKearsarge3.jpg\",\"pid\":\"mtkearsarge3\",\"title\":\"Mt Kearsarge\"},{\"src\":\"/public_images/MtPersisFromMtIndex.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"MtPersisFromMtIndex.jpg\",\"pid\":\"mtpersisfrommtindex\",\"title\":\"Mt Persis From Mt Index\"},{\"src\":\"/public_images/MtPersisFromMtIndex2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"MtPersisFromMtIndex2.jpg\",\"pid\":\"mtpersisfrommtindex2\",\"title\":\"Mt Persis From Mt Index\"},{\"src\":\"/public_images/mtSunapee.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"mtSunapee.jpg\",\"pid\":\"mtsunapee\",\"title\":\"Mt Sunapee\"},{\"src\":\"/public_images/mtSunapee2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"mtSunapee2.jpg\",\"pid\":\"mtsunapee2\",\"title\":\"Mt Sunapee\"},{\"src\":\"/public_images/mtSunapee3.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"mtSunapee3.jpg\",\"pid\":\"mtsunapee3\",\"title\":\"Mt Sunapee\"},{\"src\":\"/public_images/Nemorensis.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"Nemorensis.jpg\",\"pid\":\"nemorensis\",\"title\":\"Nemorensis\"},{\"src\":\"/public_images/nooksackFalls.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"nooksackFalls.jpg\",\"pid\":\"nooksackfalls\",\"title\":\"Nooksack Falls\"},{\"src\":\"/public_images/nooksackFalls2.jpg\",\"w\":2988,\"h\":5312,\"filename\":\"nooksackFalls2.jpg\",\"pid\":\"nooksackfalls2\",\"title\":\"Nooksack Falls\"},{\"src\":\"/public_images/nooksackFalls3.jpg\",\"w\":2988,\"h\":5312,\"filename\":\"nooksackFalls3.jpg\",\"pid\":\"nooksackfalls3\",\"title\":\"Nooksack Falls\"},{\"src\":\"/public_images/nooksackFalls4.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"nooksackFalls4.jpg\",\"pid\":\"nooksackfalls4\",\"title\":\"Nooksack Falls\"},{\"src\":\"/public_images/nooksackFalls5.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"nooksackFalls5.jpg\",\"pid\":\"nooksackfalls5\",\"title\":\"Nooksack Falls\"},{\"src\":\"/public_images/outsideSeattle.jpg\",\"w\":3804,\"h\":972,\"filename\":\"outsideSeattle.jpg\",\"pid\":\"outsideseattle\",\"title\":\"Outside Seattle\"},{\"src\":\"/public_images/parking.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"parking.jpg\",\"pid\":\"parking\",\"title\":\"Parking\"},{\"src\":\"/public_images/pokagon.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"pokagon.jpg\",\"pid\":\"pokagon\",\"title\":\"Pokagon\"},{\"src\":\"/public_images/pokagon2.jpg\",\"w\":2988,\"h\":5312,\"filename\":\"pokagon2.jpg\",\"pid\":\"pokagon2\",\"title\":\"Pokagon\"},{\"src\":\"/public_images/PrairieDogsNearScenic.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"PrairieDogsNearScenic.jpg\",\"pid\":\"prairiedogsnearscenic\",\"title\":\"Prairie Dogs Near Scenic\"},{\"src\":\"/public_images/quizUpIcons.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"quizUpIcons.jpg\",\"pid\":\"quizupicons\",\"title\":\"Quiz Up Icons\"},{\"src\":\"/public_images/rawlinsWyoming.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"rawlinsWyoming.jpg\",\"pid\":\"rawlinswyoming\",\"title\":\"Rawlins Wyoming\"},{\"src\":\"/public_images/reflectingPool.jpg\",\"w\":3000,\"h\":4000,\"filename\":\"reflectingPool.jpg\",\"pid\":\"reflectingpool\",\"title\":\"Reflecting Pool\"},{\"src\":\"/public_images/reflectingPoolWashMonument.jpg\",\"w\":3000,\"h\":4000,\"filename\":\"reflectingPoolWashMonument.jpg\",\"pid\":\"reflectingpoolwashmonument\",\"title\":\"Reflecting Pool Wash Monument\"},{\"src\":\"/public_images/RestonSnow2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"RestonSnow2.jpg\",\"pid\":\"restonsnow2\",\"title\":\"Reston Snow\"},{\"src\":\"/public_images/ringRoad.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"ringRoad.jpg\",\"pid\":\"ringroad\",\"title\":\"Ring Road\"},{\"src\":\"/public_images/ringRoad2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"ringRoad2.jpg\",\"pid\":\"ringroad2\",\"title\":\"Ring Road\"},{\"src\":\"/public_images/rockChalk.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"rockChalk.jpg\",\"pid\":\"rockchalk\",\"title\":\"Rock Chalk\"},{\"src\":\"/public_images/rubusFruticosus.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"rubusFruticosus.jpg\",\"pid\":\"rubusfruticosus\",\"title\":\"Rubus Fruticosus\"},{\"src\":\"/public_images/rushmore.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"rushmore.jpg\",\"pid\":\"rushmore\",\"title\":\"Rushmore\"},{\"src\":\"/public_images/rushmore2.jpg\",\"w\":2988,\"h\":5312,\"filename\":\"rushmore2.jpg\",\"pid\":\"rushmore2\",\"title\":\"Rushmore\"},{\"src\":\"/public_images/rushmore3.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"rushmore3.jpg\",\"pid\":\"rushmore3\",\"title\":\"Rushmore\"},{\"src\":\"/public_images/rushmore4.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"rushmore4.jpg\",\"pid\":\"rushmore4\",\"title\":\"Rushmore\"},{\"src\":\"/public_images/rushmoreChapel.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"rushmoreChapel.jpg\",\"pid\":\"rushmorechapel\",\"title\":\"Rushmore Chapel\"},{\"src\":\"/public_images/rushmoreZoltar.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"rushmoreZoltar.jpg\",\"pid\":\"rushmorezoltar\",\"title\":\"Rushmore Zoltar\"},{\"src\":\"/public_images/samishOverlook.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"samishOverlook.jpg\",\"pid\":\"samishoverlook\",\"title\":\"Samish Overlook\"},{\"src\":\"/public_images/samishOverlook2.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"samishOverlook2.jpg\",\"pid\":\"samishoverlook2\",\"title\":\"Samish Overlook\"},{\"src\":\"/public_images/sDearbornSt.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"sDearbornSt.jpg\",\"pid\":\"sdearbornst\",\"title\":\"S Dearborn St\"},{\"src\":\"/public_images/shoshoneFalls.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"shoshoneFalls.jpg\",\"pid\":\"shoshonefalls\",\"title\":\"Shoshone Falls\"},{\"src\":\"/public_images/shoshoneFalls2.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"shoshoneFalls2.jpg\",\"pid\":\"shoshonefalls2\",\"title\":\"Shoshone Falls\"},{\"src\":\"/public_images/sinclairWyoming.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"sinclairWyoming.jpg\",\"pid\":\"sinclairwyoming\",\"title\":\"Sinclair Wyoming\"},{\"src\":\"/public_images/SnailsSpaceWithVari-Lites.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"SnailsSpaceWithVari-Lites.jpg\",\"pid\":\"snailsspacewithvari-lites\",\"title\":\"Snails Space With Vari-Lites\"},{\"src\":\"/public_images/sunapeeLighthouse.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"sunapeeLighthouse.jpg\",\"pid\":\"sunapeelighthouse\",\"title\":\"Sunapee Lighthouse\"},{\"src\":\"/public_images/syntheticArrangement.jpg\",\"w\":3024,\"h\":5376,\"filename\":\"syntheticArrangement.jpg\",\"pid\":\"syntheticarrangement\",\"title\":\"Synthetic Arrangement\"},{\"src\":\"/public_images/theCapitol.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"theCapitol.jpg\",\"pid\":\"thecapitol\",\"title\":\"The Capitol\"},{\"src\":\"/public_images/theRock.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"theRock.jpg\",\"pid\":\"therock\",\"title\":\"The Rock\"},{\"src\":\"/public_images/tiny.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"tiny.jpg\",\"pid\":\"tiny\",\"title\":\"Tiny\"},{\"src\":\"/public_images/VernetDepartureForTheHuntInThePontineMarshes.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"VernetDepartureForTheHuntInThePontineMarshes.jpg\",\"pid\":\"vernetdepartureforthehuntinthepontinemarshes\",\"title\":\"Vernet Departure For The Hunt In The Pontine Marshes\"},{\"src\":\"/public_images/WalkingStickAtExxon.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"WalkingStickAtExxon.jpg\",\"pid\":\"walkingstickatexxon\",\"title\":\"Walking Stick At Exxon\"},{\"src\":\"/public_images/WallaceFallsStatePark.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"WallaceFallsStatePark.jpg\",\"pid\":\"wallacefallsstatepark\",\"title\":\"Wallace Falls State Park\"},{\"src\":\"/public_images/WallaceFallsStatePark3.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"WallaceFallsStatePark3.jpg\",\"pid\":\"wallacefallsstatepark3\",\"title\":\"Wallace Falls State Park\"},{\"src\":\"/public_images/WallaceFallsTrailhead.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"WallaceFallsTrailhead.jpg\",\"pid\":\"wallacefallstrailhead\",\"title\":\"Wallace Falls Trailhead\"},{\"src\":\"/public_images/WallaceFallsTrailhead2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"WallaceFallsTrailhead2.jpg\",\"pid\":\"wallacefallstrailhead2\",\"title\":\"Wallace Falls Trailhead\"},{\"src\":\"/public_images/WallaceFallsTrailhead3.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"WallaceFallsTrailhead3.jpg\",\"pid\":\"wallacefallstrailhead3\",\"title\":\"Wallace Falls Trailhead\"},{\"src\":\"/public_images/WallaceFallsTrailhead4.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"WallaceFallsTrailhead4.jpg\",\"pid\":\"wallacefallstrailhead4\",\"title\":\"Wallace Falls Trailhead\"},{\"src\":\"/public_images/WallaceMiddleFalls.jpg\",\"w\":3000,\"h\":4000,\"filename\":\"WallaceMiddleFalls.jpg\",\"pid\":\"wallacemiddlefalls\",\"title\":\"Wallace Middle Falls\"},{\"src\":\"/public_images/WallaceUpperFalls.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"WallaceUpperFalls.jpg\",\"pid\":\"wallaceupperfalls\",\"title\":\"Wallace Upper Falls\"},{\"src\":\"/public_images/WallaceUpperFalls2.jpg\",\"w\":4000,\"h\":3000,\"filename\":\"WallaceUpperFalls2.jpg\",\"pid\":\"wallaceupperfalls2\",\"title\":\"Wallace Upper Falls\"},{\"src\":\"/public_images/whatsTheStory.jpg\",\"w\":3000,\"h\":4000,\"filename\":\"whatsTheStory.jpg\",\"pid\":\"whatsthestory\",\"title\":\"Whats The Story\"},{\"src\":\"/public_images/windmillFarm.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"windmillFarm.jpg\",\"pid\":\"windmillfarm\",\"title\":\"Windmill Farm\"},{\"src\":\"/public_images/woodyard.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"woodyard.jpg\",\"pid\":\"woodyard\",\"title\":\"Woodyard\"},{\"src\":\"/public_images/WW2Memorial.jpg\",\"w\":3000,\"h\":4000,\"filename\":\"WW2Memorial.jpg\",\"pid\":\"ww2memorial\",\"title\":\"WW 2 Memorial\"},{\"src\":\"/public_images/yellowstone.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"yellowstone.jpg\",\"pid\":\"yellowstone\",\"title\":\"Yellowstone\"},{\"src\":\"/public_images/yellowstone2.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"yellowstone2.jpg\",\"pid\":\"yellowstone2\",\"title\":\"Yellowstone\"},{\"src\":\"/public_images/yellowstoneMammothHotSprings.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"yellowstoneMammothHotSprings.jpg\",\"pid\":\"yellowstonemammothhotsprings\",\"title\":\"Yellowstone Mammoth Hot Springs\"},{\"src\":\"/public_images/yellowstoneMammothHotSprings2.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"yellowstoneMammothHotSprings2.jpg\",\"pid\":\"yellowstonemammothhotsprings2\",\"title\":\"Yellowstone Mammoth Hot Springs\"},{\"src\":\"/public_images/yellowstoneMammothHotSprings3.jpg\",\"w\":5376,\"h\":3024,\"filename\":\"yellowstoneMammothHotSprings3.jpg\",\"pid\":\"yellowstonemammothhotsprings3\",\"title\":\"Yellowstone Mammoth Hot Springs\"},{\"src\":\"/public_images/yellowstoneMammothHotSprings4.jpg\",\"w\":5312,\"h\":2988,\"filename\":\"yellowstoneMammothHotSprings4.jpg\",\"pid\":\"yellowstonemammothhotsprings4\",\"title\":\"Yellowstone Mammoth Hot Springs\"},{\"src\":\"/public_images/youngHazelAndBlackberry.jpg\",\"w\":3024,\"h\":5376,\"filename\":\"youngHazelAndBlackberry.jpg\",\"pid\":\"younghazelandblackberry\",\"title\":\"Young Hazel And Blackberry\"}]\r\nexport default images"," const parseUrlHash = (hash) => {\r\n\r\n\r\n if (!hash) return {}\r\n\r\n var gid; //galleryId\r\n var pid; //pictureId\r\n var localAnchorId; //anchor link like: /#about\r\n\r\n var match = hash.match(/^#(\\w+)/);\r\n localAnchorId = match && match[1]\r\n\r\n match = hash.match(/pid=([-\\w]+)/)\r\n pid = match && match[1]\r\n\r\n match = hash.match(/gid=(\\w+)/)\r\n gid = match && match[1]\r\n\r\n var urlObj = {\r\n localAnchorId: localAnchorId,\r\n pid: (pid ? pid.toLowerCase() : pid),\r\n gid: gid\r\n };\r\n return urlObj;\r\n\r\n }\r\n //hack to get local anchor links to work with react-router\r\n //https://stackoverflow.com/questions/40280369/use-anchors-with-react-router\r\n const hashLinkScroll = (id) => {\r\n setTimeout(() => {\r\n const element = document.getElementById(id);\r\n if (element) element.scrollIntoView();\r\n }, 0);\r\n }\r\n\r\n const getRandomInt = (min, max) => {\r\n return Math.floor(Math.random() * (max - min)) + min;\r\n }\r\n\r\n const sendPageView = () => {\r\n window.ga('send', 'pageview', {\r\n 'page': document.location.href\r\n });\r\n console.log(\"pageview:\" + document.location.href);\r\n }\r\n\r\n const Utils = {\r\n parseUrlHash: parseUrlHash,\r\n hashLinkScroll: hashLinkScroll,\r\n getRandomInt: getRandomInt,\r\n sendPageView: sendPageView\r\n }\r\n export default Utils","import images from './images.js'\r\nimport PhotoSwipe from 'photoswipe'\r\nimport PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default'\r\nimport utils from './utils.js'\r\n\r\nclass PhotoGallery {\r\n\r\n constructor(gid) {\r\n this.GID = gid\r\n }\r\n \r\n loadGallery = (pid) => {\r\n\r\n const pswpElement = document.querySelectorAll('.pswp')[0]\r\n var index\r\n \r\n //convert pid string to pid index if necessary:\r\n if (!Number.isInteger(parseInt(pid))) {\r\n index = images.findIndex(o => o.pid === pid);\r\n if (index === -1) return false\r\n } else {\r\n //but index must be in range:\r\n if (pid > images.length - 1) return false\r\n index = parseInt(pid)\r\n }\r\n \r\n const options = {\r\n index: index,\r\n history: true,\r\n galleryPIDs: true\r\n }\r\n \r\n this.gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, images, options);\r\n this.gallery.listen('close', function () {\r\n })\r\n this.gallery.listen('destroy', function () {\r\n this.gallery = null;\r\n })\r\n\r\n this.gallery.listen('afterChange', function () { \r\n this.sendAnalyticsEvent()\r\n }.bind(this))\r\n\r\n this.gallery.init()\r\n return true\r\n }\r\n\r\n randomGalleryPic = () => {\r\n const range = images.length\r\n const index = utils.getRandomInt(0, range)\r\n this.loadGallery(index)\r\n }\r\n\r\n sendAnalyticsEvent = () => {\r\n let pid = this.gallery.currItem.pid\r\n console.log(\"Event:\"+pid)\r\n window.ga('send', {\r\n hitType: 'event',\r\n eventCategory: 'Gallery',\r\n eventAction: 'view',\r\n eventLabel: pid\r\n });\r\n }\r\n}\r\nexport default PhotoGallery","import React from 'react'\r\nclass Footer extends React.Component {\r\n\r\n render = () => {\r\n return(\r\n \r\n )\r\n }\r\n\r\n}\r\nexport default Footer","import React from 'react'\r\nimport { NavLink as Link, Link as RegularLink } from 'react-router-dom'\r\nimport utils from '../utils.js'\r\n\r\nclass Nav extends React.Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = { currentTheme: this.getRandomTheme() }\r\n }\r\n layoutRoot\r\n themeSelector\r\n themes = [\r\n { name: \"Burnt Sienna\", value: \"auburn\", firstLoadOk:true },\r\n { name: \"Terra\", value: \"terra\", firstLoadOk: true},\r\n { name: \"Console Shock\", value: \"consoleshock\", firstLoadOk: true },\r\n { name: \"Falcons (home)\", value: \"falconshome\", firstLoadOk: false },\r\n { name: \"Falcons (away)\", value: \"falconsaway\", firstLoadOk: true },\r\n { name: \"Hawks 2015\", value: \"hawks\", firstLoadOk: false },\r\n { name: \"Limeaid\", value: \"limeaid\", firstLoadOk: true },\r\n { name: \"Vanilla\", value: \"vanilla\", firstLoadOk: true },\r\n { name: \"Glaucous\", value: \"glaucous\", firstLoadOk: false },\r\n { name: \"Googl\", value: \"gooogle\", firstLoadOk: true }, \r\n { name: \"Diet Coke\", value: \"dietcoke\", firstLoadOk: true },\r\n { name: \"Coca-Cola\", value: \"coke\", firstLoadOk: false }, \r\n { name: \"t-shirt\", value: \"tshirt\", firstLoadOk: false }, \r\n { name: \"Exposure\", value: \"polaroid\", firstLoadOk: true }\r\n ]\r\n\r\n //mark root element (also the psp element) with the theme class:\r\n updateState = (ev) => {\r\n var theme = ev.target.value\r\n this.sendAnalyticsEvent(theme)\r\n this.setState((state) => {\r\n if (state && state.currentTheme) {\r\n this.layoutRoot.classList.remove(state.currentTheme)\r\n this.photoswipeEl.classList.remove(state.currentTheme)\r\n }\r\n this.layoutRoot.classList.add(theme)\r\n this.photoswipeEl.classList.add(theme)\r\n\r\n return { currentTheme: theme }\r\n })\r\n \r\n\r\n }\r\n componentDidMount() {\r\n //https://stackoverflow.com/questions/26059762/callback-when-dom-is-loaded-in-react-js\r\n //setTimeout(func, 0) also works. \r\n window.addEventListener('load', (ev) => {\r\n this.layoutRoot = document.getElementById(\"layoutRoot\")\r\n this.photoswipeEl = document.querySelector(\".pswp\")\r\n this.layoutRoot.classList.add(this.state.currentTheme)\r\n this.photoswipeEl.classList.add(this.state.currentTheme)\r\n this.themeSelector = document.getElementById(\"themeSelector\")\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n\r\n \r\n )\r\n }\r\n\r\n getRandomTheme = () => {\r\n \r\n var eligible = this.themes.filter(theme=>theme.firstLoadOk)\r\n var range = eligible.length\r\n var indexOfTheme = utils.getRandomInt(0, range)\r\n return eligible[indexOfTheme].value\r\n\r\n }\r\n\r\n sendAnalyticsEvent = (theme) => {\r\n console.log(\"Event (theme):\" + theme)\r\n window.ga('send', {\r\n hitType: 'event',\r\n eventCategory: 'Theme',\r\n eventAction: 'change',\r\n eventLabel: theme\r\n });\r\n }\r\n}\r\nexport default Nav","import React from 'react';\n\nclass Logo extends React.Component {\n\n render = () => {\n\n return (\n // viewBox = \n \n \n\n mvc\n C#\n JavaScript\n web\n .NET\n {less}\n photoshop\n illustrator\n team\n sql\n OOP\n server\n asp.net\n HTML\n design\n css\n jQuery\n code\n front-end\n project\n website\n framework\n git\n patterns\n UX\n /regex/\n object-oriented\n TDD\n best-practices\n agile\n solution\n razor\n backbone.js\n love\n creativity\n react.js\n requirements\n API\n components\n useability\n developed\n ES6\n functional\n forms\n back-end\n advanced\n projects\n SVG\n talent\n experience\n enterprise\n stack\n effort\n <script>\n aesthetics\n algorithm\n developers\n programming\n redesign\n linq\n variety\n entity\n lead\n engineer\n maintained\n applications\n identified\n coding\n UI\n leveraged\n update\n skills\n procedures\n XML\n export\n content\n {/* graphics */}\n SASS\n eliminated\n data\n automatic\n {/* mini */}\n \n \n framework.js\n use\n strict;\n queue\n results\n verified\n minify\n documented\n SWeaverD.com\n \n \n )\n }\n}\nexport default Logo","import React from 'react';\r\nimport PhotoGallery from './photoGallery.js'\r\nimport utils from \"./utils.js\";\r\nimport Footer from './components/footer.jsx'\r\nimport Nav from './components/nav.jsx'\r\n\r\nimport Logo from './components/logo.jsx'\r\n/* styles */\r\nimport './styles/static.scss'\r\nimport './styles/themes.scss'\r\nimport \"photoswipe/dist/photoswipe.css\"\r\nimport \"photoswipe/dist/default-skin/default-skin.css\"\r\nimport \"@fortawesome/fontawesome-free/css/all.min.css\"\r\n\r\nclass App extends React.Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n \r\n this.GID = 1\r\n window.myGlobals = {\r\n gallery: new PhotoGallery(this.GID)\r\n }\r\n \r\n //manual url change tracking is for analytics only\r\n this.previousUrl = {};\r\n let {pathname, search, hash, href} = document.location\r\n Object.assign(this.previousUrl, {pathname, search, hash, href})\r\n }\r\n componentDidMount() {\r\n \r\n this.props.history.listen((location, action) => {\r\n \r\n setTimeout(() => {\r\n \r\n //console.log(`detected history change:${action}`)\r\n if (this.UrlIsTheSame()) {\r\n \r\n } else {\r\n \r\n //copy and save location, send analytics:\r\n let {pathname, search, hash, href} = document.location\r\n Object.assign(this.previousUrl,{pathname, search, hash, href})\r\n utils.sendPageView();\r\n }\r\n \r\n let url = utils.parseUrlHash(location.hash)\r\n \r\n if (url.pid) {\r\n if (!window.myGlobals.gallery.loadGallery(url.pid)) {\r\n console.log(\"Photogallery encountered an error and did not load the image.\")\r\n window.history.pushState(\"\", document.title, window.location.pathname + window.location.search);//clears hash, adds history entry\r\n }\r\n } else if (url.localAnchorId) {\r\n utils.hashLinkScroll(url.localAnchorId);\r\n }\r\n }, 0)\r\n })\r\n }\r\n \r\n componentDidUpdate(prevProps) {\r\n \r\n if (this.props.location.pathname !== prevProps.location.pathname) {\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n render = () => {\r\n window.myGlobals && window.myGlobals.audioContext && (window.myGlobals.audioContext.close())\r\n return (\r\n
\r\n\r\n {/* Note: components like {Home} or {Code} inside a get location prop automatically, but here we have to pass it in i guess. https://stackoverflow.com/a/42010806/244811*/}\r\n
\r\n )\r\n }\r\n \r\n UrlIsTheSame = () => {\r\n //could really just be href\r\n return this.previousUrl \r\n && this.previousUrl.pathname === document.location.pathname \r\n && this.previousUrl.search === document.location.search \r\n && this.previousUrl.hash === document.location.hash\r\n }\r\n \r\n }\r\n export default App","import React from 'react'\r\nimport { Route, Link } from 'react-router-dom'\r\nimport images from '../images.js'\r\n\r\nclass Gallery extends React.Component {\r\n\r\n componentDidMount() {\r\n document.title = \"sweaverD.com - Galleria Fantastic\"\r\n }\r\n THUMBFOLDER = \"public_images/thumbs\"\r\n GID = 1\r\n\r\n render = () => {\r\n\r\n return (\r\n\r\n
\r\n

The Galleria Fantastic

\r\n

Places I've seen (kinda goes without saying) and trails I've hiked, mostly. Each one of these pictures is worth 1024 words.  \r\n\r\n {/\\/links$/.test(document.location.pathname) ? \r\n Click here to browse thumbnails.\r\n : \r\n Click here to browse by image name.\r\n }\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n )\r\n }\r\n\r\n ThumbGallery = () => {\r\n\r\n return (\r\n //sort by height\r\n images.sort((a, b) => a.h - b.h).map((img, index, array) => {\r\n return
\r\n \r\n {`${img.title}`}\r\n \r\n
\r\n })\r\n\r\n )\r\n }\r\n LinkGallery = () => {\r\n\r\n var imageLinks = () => {\r\n //sort by pid (alpha)\r\n var html = images.sort((a, b) => a.pid.localeCompare(b.pid)).map((img, index, array) => {\r\n return

\r\n \r\n {`${img.title}`}\r\n \r\n

\r\n })\r\n return html\r\n }\r\n return imageLinks()\r\n }\r\n}\r\n\r\nexport default Gallery","import React from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport Gallery from './galleryPage.jsx'\r\n\r\nclass Home extends React.Component {\r\n\r\n gallery = Gallery\r\n links = [\r\n { href:\"https://css-tricks.com/snippets/css/star-wars-crawl-text/\", text: \"Css Tricks - Star Wars Crawler\" },\r\n { href:\"http://www.colourlovers.com/palettes\", text: \"Colour Lovers\" },\r\n { href:\"https://philipwalton.github.io/solved-by-flexbox/\", text: \"Solved By Flexbox\" },\r\n { href:\"http://www.datchley.name/promise-patterns-anti-patterns/\", text: \"Promise patterns and anti-patterns\" },\r\n { href:\"http://getbem.com/\", text: \"Block Element Modifier CSS methodology\" },\r\n { href:\"https://tympanus.net/codrops/css_reference/radial-gradient/\", text: \"Radial Gradients explained (shout out!)\" },\r\n { href:\"http://ryanve.com/lab/dimensions/\", text: \"Useful viewport size web utility (shout out!)\" },\r\n { href:\"https://www.youtube.com/watch?v=8aGhZQkoFbQ\", text: \"What the heck is the event loop anyway?\" },\r\n { href:\"https://www.youtube.com/watch?v=zthIUs2w_c8\", text: \"Learn React with Kent C. Dodds\" },\r\n { href:\"https://regex101.com/\", text: \"Regex101 - the standard for sharing regexen on the internet since 2000 something\" },\r\n { href:\"https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags\", text: \"Parsing HTML with Regular Expressions - A Practical Guide\" },\r\n { href:\"http://www.responsinator.com/?url=sweaverd.com\", text: \"Responsinator.com - Are you responsive?\" },\r\n\r\n ]\r\n\r\n render = () => {\r\n\r\n return (\r\n\r\n
\r\n
\r\n
\r\n \r\n

Hi!

\r\n\r\n

Hi. My name is Scott, and I'm\"myself\"/ a\r\n software developer new to the Lynnwood, Washington area (via the East Coast). Welcome to my personal website! Have a look around, and feel free to inquire about me building a web app for you.\r\n

\r\n\r\n

Update 6/11/19: I've converted my site to ReactJS! Check out my thoughts on the experience.

\r\n\r\n
\r\n
\r\n

Pictures of cats

\r\n

Please take a moment at this time to view my cats, Hazel and Blackberry, via the photo gallery! Optionally, please enjoy a random image.\r\n \r\n\t

\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n

List of hpyerlinks

\r\n\r\n

Articles and tools that I found useful, interesting, or amusing.

\r\n
    \r\n {\r\n this.links.map((link, i, arr)=>{\r\n return
  • {link.text}
  • \r\n })\r\n }\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n )\r\n }\r\n}\r\nexport default Home\r\n","import React from 'react'\r\nimport {Link} from 'react-router-dom'\r\n\r\nclass Code extends React.Component {\r\n\r\n componentDidMount() {\r\n document.title = \"sweaverD.com - Coding and Expertise\"\r\n }\r\n\r\n render = () => {\r\n\r\n return (\r\n
\r\n
\r\n

Expertise

\r\n
\r\n
    \r\n
  • JavaScript and the World Wide Web
  • \r\n
  • Full stack coding ability
  • \r\n
  • UI/UX Design
  • \r\n
\r\n
\r\n\r\n
\r\n

I'm offering \"full-stack front end\" expertise building web applications. I enjoy patterns, visualizations, Web APIs, beaches, and of course, regular expressions. Although I am seeking to leverage my existing skills within the JavaScript/Web/React/HTML/CSS tech stack, I place a high value on being given the opportunity to learn things I don't already know (which is a lot).

\r\n\r\n

At the end of the day, of course, it's not really about the programming language you used, it's about the algorithm, and the presentation thereof. I like to build cohesive wholes and solve problems creatively.

\r\n\r\n

Check out some of my open-source projects.

\r\n
\r\n\r\n
\r\n

Community

\r\n \r\n \"Scott's\r\n \r\n

Stackoverflow.com is a coders' Q & A site, a community of 6.6 million programmers, and a vast archive of\r\n information about programming. It's a place where you can show your skills and gain reputation points by answering questions.

\r\n

Fun Fact: the Stack Exchange framework was built with .NET MVC.

\r\n
\r\n\r\n
\r\n\r\n )\r\n }\r\n}\r\nexport default Code","import React from 'react'\r\nclass Converting extends React.Component {\r\n render = () => {\r\n return ( \r\n
\r\n

Converting my single page app to ReactJS: one man's journey

\r\n June 15th, 2019\r\n\r\n\r\n

Starting point

\r\n

The starting point, was, of course, this site. It's a single page web app written in JavaScript, with no server side rendering. It had grown organically over time and had increased in complexity, albeit with not much state, and no underlying database. There was no framework support besides Handlebars and the obligatory jQuery. All of it stuffed into a bloated index.html master file.

\r\n\r\n

Choosing packages

\r\n

Long story short, I ended up going with Create React App as my first move, the package that has 16,000 🍴 and ~one million ⭐ on Github, and thank goodness I did. There's two things you get with CRA, and they are huge:

\r\n
    \r\n
  • a pre-baked, fully scaffolded, single page web application
  • \r\n
  • a pre-configured webpack build script that you are not supposed to touch (it lives in node_modules)
  • \r\n
\r\n\r\n

My original site was already a single page app, so no worries there. Heck, it was single file app. The index file was ~950 lines long. I never make generalizations, but any time you have a file at almost a thousand lines, that's too much.

\r\n\r\n

I did have misgivings about not being able to touch webpack.config, because I wanted to learn it. Either way, I was using Gulp.js and CssNano and getting mixed results - I knew I needed better. Secondly, since when does any one-size-fits-all setup not eventually reveal that it's missing some feature you really need?

\r\n\r\n

The first concern turned out to be well founded. I still can't write webpack config files.

\r\n\r\n

The second concern never materialized. The CRA build and bundling system has just worked, and I've not needed to worry about it. Running my own custom tasks ahead of (or after) the build or compilation steps is super easy anyway, just tweak package.json : `gulp && react-scripts build` - bam, done.

\r\n\r\n

Benefits

\r\n\r\n

The combination of react+create-react-app has worked well for me, and the upgrade was obviously worth it. Better top-level architecture and a way better build system pretty much came out of the box. There were other benefits as well:

\r\n\r\n
    \r\n
  • Better Routes: what was once sweaverD.com/#code is now sweaverD.com/code. The original URL is not a \"real\" second page, but the new one is. I was using a hand-rolled routing system that worked well but used document.location.hash values to load pages, and hash URLs aren't as good. Now I use react-router, and my URLs are legit.
  • \r\n
  • Google can crawl my page: When I was using a Handlebars+custom rendering system, search engines were asserting that my site was a single, empty index.html file. Obviously, the hybrid rendering system wasn't getting the job done, and there was something invalid in my untranspiled JavaScript. Now, presumably thanks to Babel, search engines are able to crawl my site, and are finally starting to admit that I'm somebody.
  • \r\n
  • ES6 import/export pattern: any modern framework would confer this I assume, but still, it's great. With this pattern plus JSX, my components are fully self-contained.
  • \r\n
  • ESLint - Hate it. It complains about every little thing, and obscures your console.logs. My new site is more accessible now.
  • \r\n
  • Automatic source maps - even though the code is bundled and minimized, you can still debug after you deploy. Nice.
  • \r\n
\r\n\r\n

The best thing, though? No jQuery.🤔

\r\n\r\n
\r\n\r\n )\r\n }\r\n}\r\nexport default Converting","import React from 'react'\r\nfunction Test() {\r\n\r\n\r\n return (\r\n
\r\n

Why you might not need a blog

\r\n June 16th, 2019\r\n\r\n
Blogs, blogs, blogs! - Steven Ballmer
\r\n

I'm just testing here. You actually do need a blog.

\r\n\r\n \r\n\r\n
\r\n )\r\n\r\n}\r\nexport default Test","import React from 'react'\r\nimport { Link, NavLink, Route } from 'react-router-dom'\r\nimport { Redirect } from 'react-router'\r\nimport Converting from './blog/converting.jsx'\r\nimport Test from './blog/test.jsx'\r\n\r\nclass Blog extends React.Component {\r\n\r\n render = () => {\r\n return (\r\n
\r\n\r\n

Scott's blog

\r\n\r\n
\r\n
\r\n
    \r\n
  • Converting my app to ReactJS: One man's journey
  • \r\n
  • Why you might not need a blog
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {\r\n \r\n if(/id=([\\w+-])+/.test(document.location.search)){\r\n var id = document.location.search.match(/id=([\\w-]+)/)[1]\r\n return \r\n \r\n } else {\r\n return this.DefaultBlog()\r\n }\r\n \r\n }}>\r\n
\r\n
\r\n\r\n
\r\n
\r\n )\r\n }\r\n\r\n DefaultBlog = () => {\r\n \r\n return( \r\n
\r\n \r\n
In a time of universal deceit - telling the truth is a revolutionary act. (unknown)
\r\n \r\n
\r\n )\r\n }\r\n \r\n}\r\nexport default Blog","import React from 'react'\r\nclass Projects extends React.Component {\r\n\r\n componentDidMount() {\r\n document.title = \"sweaverD.com - Open source projects\"\r\n }\r\n\r\n\r\n render = () => {\r\n return (\r\n
\r\n

Open-source projects

\r\n
\r\n\r\n \r\n
\r\n

The Sorting

\r\n

Visualize and learn quick sort, merge sort, heap sort, shell sort, comb sort, insertion sort, selection sort, and even bubble sort with this chilling new jam, starring Jack Nicholson.

\r\n \r\n
\r\n
\r\n

Pixel-Grid

\r\n

Every rect has it's day. SVG animations featuring a bunch of different modes like Ark Starmap, Stained Glass, Act 2: The Chase, The Maze, and many more.

\r\n \r\n
\r\n
\r\n

Grid Jr

\r\n

A spacey musical visualizer built with vanillaJS and the Web Audio API, featuring streams from internet-radio.com.

\r\n \r\n
\r\n \r\n
\r\n

Palette Panda

\r\n

A color tool for artists and webmasters.

\r\n \r\n
\r\n
\r\n
\r\n\r\n )\r\n }\r\n}\r\nexport default Projects\r\n","\r\nimport React from 'react'\r\nimport { Link } from 'react-router-dom'\r\n\r\nclass NotFound extends React.Component {\r\n\r\n render = () => {\r\n return (\r\n \r\n
\r\n

😞 I'm sorry Dave, I'm afraid I can't do that.  sweaverD.com

\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n}\r\nexport default NotFound","import React from 'react'\nimport App from './App.jsx'\nimport Home from './components/home.jsx'\nimport Code from './components/code.jsx'\nimport Blog from './components/blog.jsx'\nimport Projects from './components/projects.jsx'\nimport GalleryPage from './components/galleryPage.jsx'\nimport NotFound from './components/notfound.jsx'\nimport { BrowserRouter as Router, Switch, Route } from 'react-router-dom'\nimport { withRouter, Redirect } from \"react-router\"\n\nclass AppRouter extends React.Component {\n\n components = {\n home: Home,\n code: Code,\n projects: Projects,\n gallery: GalleryPage, \n blog: Blog\n }\n applications = {\n default: App\n }\n\n RoutedApp = withRouter(this.applications[this.props.application])\n\n is404Redirect = () => {\n return /page=(\\w+)/.test(document.location.search)\n }\n requestedPageIsValid = () => {\n const match = document.location.search.match(/page=(\\w+)/)\n return match[1] in this.components\n }\n getPathFromQueryString = () => {\n \n //todo: install qs and use that.\n var page = document.location.search.match(/page=(\\w+)/)[1]\n if(/id=([\\w+-])+/.test(document.location.search)){\n var id = document.location.search.match(/id=([\\w-]+)/)[1]\n return page + \"?id=\" + id\n }\n return page\n }\n\n routes = () => {\n\n return (\n \n (\n this.is404Redirect() && this.requestedPageIsValid() ? (\n \n ) : (\n \n )\n )} />\n \n \n \n \n \n \n )\n }\n componentDidMount = () => {\n\n window.addEventListener('popstate', (event) => {\n //console.log(\"POPSTATE: location: \" + document.location + \", state: \" + JSON.stringify(event.state));\n });\n }\n render = () => {\n return (\n \n \n \n {this.routes()}\n \n \n\n );\n }\n\n}\n\nexport default AppRouter;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport AppRouter from './AppRouter';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}