Add basic website (#437)
* Add Netlify configuration and website Makefile Signed-off-by: lucperkins <lucperkins@gmail.com> * Add .editorconfig file for IDE configs Signed-off-by: lucperkins <lucperkins@gmail.com> * Add empty content folder to satisfy Hugo requirement Signed-off-by: lucperkins <lucperkins@gmail.com> * Add basic Hugo site config Signed-off-by: lucperkins <lucperkins@gmail.com> * Add initial layout scaffolding Signed-off-by: lucperkins <lucperkins@gmail.com> * Add initial npm assets, yarn.lock, and .gitignore file to ignore node_modules/ Signed-off-by: lucperkins <lucperkins@gmail.com> * Add initial site implementation * Revert Hugo version to 0.50 Signed-off-by: lucperkins <lucperkins@gmail.com> * Change publish directory to website/public Signed-off-by: lucperkins <lucperkins@gmail.com> * Add basic site metadata in partial Signed-off-by: Luc Perkins <lucperkins@gmail.com> * Widen main logo on mobile Signed-off-by: Luc Perkins <lucperkins@gmail.com> * Add favicon link to CSS partial Signed-off-by: Luc Perkins <lucperkins@gmail.com> * Synchronize main color with logos Signed-off-by: Luc Perkins <lucperkins@gmail.com> * Add basic Providers and How it Works sections to home page Signed-off-by: lucperkins <lucperkins@gmail.com> * Combine basics and providers sections into one Signed-off-by: lucperkins <lucperkins@gmail.com> * Add favicon link to site config Signed-off-by: lucperkins <lucperkins@gmail.com> * Add navbar fade in and out effect Signed-off-by: lucperkins <lucperkins@gmail.com> * Add Slack button Signed-off-by: lucperkins <lucperkins@gmail.com> * Add GitHub stars/watcher info Signed-off-by: lucperkins <lucperkins@gmail.com> * Add documentation layout Signed-off-by: lucperkins <lucperkins@gmail.com> * Add debugging and contributing links Signed-off-by: lucperkins <lucperkins@gmail.com> * Add docs button in main hero Signed-off-by: lucperkins <lucperkins@gmail.com> * Fix footer layout issue Signed-off-by: lucperkins <lucperkins@gmail.com> * Change docs header aesthetic Signed-off-by: lucperkins <lucperkins@gmail.com> * Change syntax highlighting theme to fruity Signed-off-by: lucperkins <lucperkins@gmail.com> * More adjustments to sidebar Signed-off-by: lucperkins <lucperkins@gmail.com> * Add TOC panel for docs Signed-off-by: lucperkins <lucperkins@gmail.com> * Adjust the padding on section elements Signed-off-by: lucperkins <lucperkins@gmail.com> * Remove stickiness on main docs header Signed-off-by: lucperkins <lucperkins@gmail.com> * Add basic architecture doc Signed-off-by: lucperkins <lucperkins@gmail.com> * Remove 'coming soon' banner Signed-off-by: lucperkins <lucperkins@gmail.com> * Add AnchorJS support for docs pages Signed-off-by: lucperkins <lucperkins@gmail.com>
This commit is contained in:
committed by
Robbie Zhang
parent
966f7a807b
commit
b44072588b
@@ -0,0 +1,33 @@
|
||||
(function(root,factory){'use strict';if(typeof define==='function'&&define.amd){define([],factory);}else if(typeof module==='object'&&module.exports){module.exports=factory();}else{root.AnchorJS=factory();root.anchors=new root.AnchorJS();}}(this,function(){'use strict';function AnchorJS(options){this.options=options||{};this.elements=[];function _applyRemainingDefaultOptions(opts){opts.icon=opts.hasOwnProperty('icon')?opts.icon:'\ue9cb';opts.visible=opts.hasOwnProperty('visible')?opts.visible:'hover';opts.placement=opts.hasOwnProperty('placement')?opts.placement:'right';opts.ariaLabel=opts.hasOwnProperty('ariaLabel')?opts.ariaLabel:'Anchor';opts.class=opts.hasOwnProperty('class')?opts.class:'';opts.truncate=opts.hasOwnProperty('truncate')?Math.floor(opts.truncate):64;}
|
||||
_applyRemainingDefaultOptions(this.options);this.isTouchDevice=function(){return!!(('ontouchstart'in window)||window.DocumentTouch&&document instanceof DocumentTouch);};this.add=function(selector){var elements,elsWithIds,idList,elementID,i,index,count,tidyText,newTidyText,readableID,anchor,visibleOptionToUse,indexesToDrop=[];_applyRemainingDefaultOptions(this.options);visibleOptionToUse=this.options.visible;if(visibleOptionToUse==='touch'){visibleOptionToUse=this.isTouchDevice()?'always':'hover';}
|
||||
if(!selector){selector='h2, h3, h4, h5, h6';}
|
||||
elements=_getElements(selector);if(elements.length===0){return this;}
|
||||
_addBaselineStyles();elsWithIds=document.querySelectorAll('[id]');idList=[].map.call(elsWithIds,function assign(el){return el.id;});for(i=0;i<elements.length;i++){if(this.hasAnchorJSLink(elements[i])){indexesToDrop.push(i);continue;}
|
||||
if(elements[i].hasAttribute('id')){elementID=elements[i].getAttribute('id');}else if(elements[i].hasAttribute('data-anchor-id')){elementID=elements[i].getAttribute('data-anchor-id');}else{tidyText=this.urlify(elements[i].textContent);newTidyText=tidyText;count=0;do{if(index!==undefined){newTidyText=tidyText+'-'+count;}
|
||||
index=idList.indexOf(newTidyText);count+=1;}while(index!==-1);index=undefined;idList.push(newTidyText);elements[i].setAttribute('id',newTidyText);elementID=newTidyText;}
|
||||
readableID=elementID.replace(/-/g,' ');anchor=document.createElement('a');anchor.className='anchorjs-link '+this.options.class;anchor.href='#'+elementID;anchor.setAttribute('aria-label',this.options.ariaLabel);anchor.setAttribute('data-anchorjs-icon',this.options.icon);if(visibleOptionToUse==='always'){anchor.style.opacity='1';}
|
||||
if(this.options.icon==='\ue9cb'){anchor.style.font='1em/1 anchorjs-icons';if(this.options.placement==='left'){anchor.style.lineHeight='inherit';}}
|
||||
if(this.options.placement==='left'){anchor.style.position='absolute';anchor.style.marginLeft='-1em';anchor.style.paddingRight='0.5em';elements[i].insertBefore(anchor,elements[i].firstChild);}else{anchor.style.paddingLeft='0.375em';elements[i].appendChild(anchor);}}
|
||||
for(i=0;i<indexesToDrop.length;i++){elements.splice(indexesToDrop[i]-i,1);}
|
||||
this.elements=this.elements.concat(elements);return this;};this.remove=function(selector){var index,domAnchor,elements=_getElements(selector);for(var i=0;i<elements.length;i++){domAnchor=elements[i].querySelector('.anchorjs-link');if(domAnchor){index=this.elements.indexOf(elements[i]);if(index!==-1){this.elements.splice(index,1);}
|
||||
elements[i].removeChild(domAnchor);}}
|
||||
return this;};this.removeAll=function(){this.remove(this.elements);};this.urlify=function(text){var nonsafeChars=/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,urlText;if(!this.options.truncate){_applyRemainingDefaultOptions(this.options);}
|
||||
urlText=text.trim().replace(/\'/gi,'').replace(nonsafeChars,'-').replace(/-{2,}/g,'-').substring(0,this.options.truncate).replace(/^-+|-+$/gm,'').toLowerCase();return urlText;};this.hasAnchorJSLink=function(el){var hasLeftAnchor=el.firstChild&&((' '+el.firstChild.className+' ').indexOf(' anchorjs-link ')>-1),hasRightAnchor=el.lastChild&&((' '+el.lastChild.className+' ').indexOf(' anchorjs-link ')>-1);return hasLeftAnchor||hasRightAnchor||false;};function _getElements(input){var elements;if(typeof input==='string'||input instanceof String){elements=[].slice.call(document.querySelectorAll(input));}else if(Array.isArray(input)||input instanceof NodeList){elements=[].slice.call(input);}else{throw new Error('The selector provided to AnchorJS was invalid.');}
|
||||
return elements;}
|
||||
function _addBaselineStyles(){if(document.head.querySelector('style.anchorjs')!==null){return;}
|
||||
var style=document.createElement('style'),linkRule=' .anchorjs-link {'+
|
||||
' opacity: 0;'+
|
||||
' text-decoration: none;'+
|
||||
' -webkit-font-smoothing: antialiased;'+
|
||||
' -moz-osx-font-smoothing: grayscale;'+
|
||||
' }',hoverRule=' *:hover > .anchorjs-link,'+
|
||||
' .anchorjs-link:focus {'+
|
||||
' opacity: 1;'+
|
||||
' }',anchorjsLinkFontFace=' @font-face {'+
|
||||
' font-family: "anchorjs-icons";'+
|
||||
' src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype");'+
|
||||
' }',pseudoElContent=' [data-anchorjs-icon]::after {'+
|
||||
' content: attr(data-anchorjs-icon);'+
|
||||
' }',firstStyleEl;style.className='anchorjs';style.appendChild(document.createTextNode(''));firstStyleEl=document.head.querySelector('[rel="stylesheet"], style');if(firstStyleEl===undefined){document.head.appendChild(style);}else{document.head.insertBefore(style,firstStyleEl);}
|
||||
style.sheet.insertRule(linkRule,style.sheet.cssRules.length);style.sheet.insertRule(hoverRule,style.sheet.cssRules.length);style.sheet.insertRule(pseudoElContent,style.sheet.cssRules.length);style.sheet.insertRule(anchorjsLinkFontFace,style.sheet.cssRules.length);}}
|
||||
return AnchorJS;}));
|
||||
@@ -0,0 +1 @@
|
||||
{"Target":"js/anchor.min.3231b81e93880d1db128c90bbea3b3540c38b614ddba93b568ca2d9092a385db.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-MjG4HpOIDR2xKMkLvqOzVAw4thTdupO1aMotkJKjhds="}}
|
||||
@@ -0,0 +1,5 @@
|
||||
function anchorJs(){if($('.is-docs-page').length>0){anchors.options={icon:'#'}
|
||||
anchors.add('.content h2, .content h3, .content h4');}}
|
||||
function scrollFadeInOut(threshold,element){$(window).scroll(function(){if($(this).scrollTop()>threshold){element.fadeIn();}else{element.fadeOut();}});}
|
||||
function navbarScrollToggle(){const navbar=$('.is-home-page .navbar');const heroHeight=$('.hero').height();scrollFadeInOut(heroHeight,navbar);}
|
||||
$(function(){anchorJs();navbarScrollToggle();});
|
||||
@@ -0,0 +1 @@
|
||||
{"Target":"js/app.min.f21b34fa42a57f2e8dd0f59faffe4a19d8eb880de4359555cb257d027a2c1481.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-8hs0+kKlfy6N0PWfr/5KGdjriA3kNZVVyyV9AnosFIE="}}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"Target":"css/style.7557002ca2e3a2c3558d1dd6957c18a5a518c37b0da952b617441ae9ed7ffc04.css","MediaType":"text/css","Data":{"Integrity":"sha256-dVcALKLjosNVjR3WlXwYpaUYw3sNqVK2F0Qa6e1//AQ="}}
|
||||
Reference in New Issue
Block a user