jekyll-theme-cs50 0.1.7 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/head.html +40 -0
  3. data/_layouts/page.html +1 -113
  4. data/_sass/{node_modules/bootstrap → bootstrap}/LICENSE +0 -0
  5. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_alert.scss +0 -0
  6. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_badge.scss +0 -0
  7. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_breadcrumb.scss +0 -0
  8. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_button-group.scss +0 -0
  9. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_buttons.scss +0 -0
  10. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_card.scss +0 -0
  11. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_carousel.scss +0 -0
  12. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_close.scss +0 -0
  13. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_code.scss +0 -0
  14. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_custom-forms.scss +0 -0
  15. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_dropdown.scss +0 -0
  16. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_forms.scss +0 -0
  17. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_functions.scss +0 -0
  18. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_grid.scss +0 -0
  19. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_images.scss +0 -0
  20. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_input-group.scss +0 -0
  21. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_jumbotron.scss +0 -0
  22. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_list-group.scss +0 -0
  23. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_media.scss +0 -0
  24. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_mixins.scss +0 -0
  25. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_modal.scss +0 -0
  26. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_nav.scss +0 -0
  27. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_navbar.scss +0 -0
  28. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_pagination.scss +0 -0
  29. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_popover.scss +0 -0
  30. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_print.scss +0 -0
  31. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_progress.scss +0 -0
  32. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_reboot.scss +0 -0
  33. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_root.scss +0 -0
  34. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_spinners.scss +0 -0
  35. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_tables.scss +0 -0
  36. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_toasts.scss +0 -0
  37. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_tooltip.scss +0 -0
  38. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_transitions.scss +0 -0
  39. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_type.scss +0 -0
  40. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_utilities.scss +0 -0
  41. data/_sass/{node_modules/bootstrap → bootstrap}/scss/_variables.scss +0 -0
  42. data/_sass/{node_modules/bootstrap → bootstrap}/scss/bootstrap-grid.scss +0 -0
  43. data/_sass/{node_modules/bootstrap → bootstrap}/scss/bootstrap-reboot.scss +0 -0
  44. data/_sass/{node_modules/bootstrap → bootstrap}/scss/bootstrap.scss +0 -0
  45. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_alert.scss +0 -0
  46. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_background-variant.scss +0 -0
  47. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_badge.scss +0 -0
  48. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_border-radius.scss +0 -0
  49. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_box-shadow.scss +0 -0
  50. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_breakpoints.scss +0 -0
  51. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_buttons.scss +0 -0
  52. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_caret.scss +0 -0
  53. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_clearfix.scss +0 -0
  54. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_deprecate.scss +0 -0
  55. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_float.scss +0 -0
  56. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_forms.scss +0 -0
  57. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_gradients.scss +0 -0
  58. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_grid-framework.scss +0 -0
  59. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_grid.scss +0 -0
  60. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_hover.scss +0 -0
  61. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_image.scss +0 -0
  62. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_list-group.scss +0 -0
  63. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_lists.scss +0 -0
  64. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_nav-divider.scss +0 -0
  65. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_pagination.scss +0 -0
  66. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_reset-text.scss +0 -0
  67. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_resize.scss +0 -0
  68. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_screen-reader.scss +0 -0
  69. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_size.scss +0 -0
  70. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_table-row.scss +0 -0
  71. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_text-emphasis.scss +0 -0
  72. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_text-hide.scss +0 -0
  73. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_text-truncate.scss +0 -0
  74. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_transition.scss +0 -0
  75. data/_sass/{node_modules/bootstrap → bootstrap}/scss/mixins/_visibility.scss +0 -0
  76. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_align.scss +0 -0
  77. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_background.scss +0 -0
  78. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_borders.scss +0 -0
  79. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_clearfix.scss +0 -0
  80. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_display.scss +0 -0
  81. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_embed.scss +0 -0
  82. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_flex.scss +0 -0
  83. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_float.scss +0 -0
  84. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_overflow.scss +0 -0
  85. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_position.scss +0 -0
  86. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_screenreaders.scss +0 -0
  87. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_shadows.scss +0 -0
  88. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_sizing.scss +0 -0
  89. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_spacing.scss +0 -0
  90. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_stretched-link.scss +0 -0
  91. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_text.scss +0 -0
  92. data/_sass/{node_modules/bootstrap → bootstrap}/scss/utilities/_visibility.scss +0 -0
  93. data/_sass/{node_modules/bootstrap → bootstrap}/scss/vendor/_rfs.scss +0 -0
  94. data/_sass/jekyll-theme-cs50.scss +11 -333
  95. data/_sass/primer-markdown/LICENSE +21 -0
  96. data/_sass/{node_modules/primer-markdown → primer-markdown}/build/build.scss +0 -0
  97. data/_sass/rouge.scss +209 -0
  98. data/assets/@fortawesome/fontawesome-free/css/all.min.css +5 -0
  99. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
  100. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg +3442 -0
  101. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
  102. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
  103. data/assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
  104. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
  105. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg +803 -0
  106. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
  107. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
  108. data/assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
  109. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
  110. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg +4649 -0
  111. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
  112. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
  113. data/assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
  114. data/assets/bootstrap/LICENSE +22 -0
  115. data/assets/bootstrap/dist/js/bootstrap.min.js +7 -0
  116. data/assets/jekyll-theme-cs50.js +156 -0
  117. data/assets/jquery/LICENSE.txt +36 -0
  118. data/assets/jquery/dist/jquery.min.js +2 -0
  119. data/assets/page.scss +273 -0
  120. data/assets/popper.js/dist/popper.min.js +5 -0
  121. data/assets/popper.js/dist/umd/popper.min.js +5 -0
  122. data/lib/jekyll-theme-cs50.rb +128 -0
  123. data/lib/jekyll-theme-cs50/constants.rb +36 -0
  124. metadata +150 -109
  125. data/_sass/package.json +0 -12
  126. data/assets/css/style.scss +0 -4
@@ -0,0 +1,5 @@
1
+ /*
2
+ Copyright (C) Federico Zivolo 2019
3
+ Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
4
+ */var e='undefined'!=typeof window&&'undefined'!=typeof document;const t=['Edge','Trident','Firefox'];let o=0;for(let n=0;n<t.length;n+=1)if(e&&0<=navigator.userAgent.indexOf(t[n])){o=1;break}function n(e){let t=!1;return()=>{t||(t=!0,window.Promise.resolve().then(()=>{t=!1,e()}))}}function i(e){let t=!1;return()=>{t||(t=!0,setTimeout(()=>{t=!1,e()},o))}}const r=e&&window.Promise;var p=r?n:i;function d(e){return e&&'[object Function]'==={}.toString.call(e)}function s(e,t){if(1!==e.nodeType)return[];const o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function f(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function a(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}const{overflow:t,overflowX:o,overflowY:n}=s(e);return /(auto|scroll|overlay)/.test(t+n+o)?e:a(f(e))}const l=e&&!!(window.MSInputMethodContext&&document.documentMode),m=e&&/MSIE 10/.test(navigator.userAgent);function h(e){return 11===e?l:10===e?m:l||m}function c(e){if(!e)return document.documentElement;const t=h(10)?document.body:null;let o=e.offsetParent||null;for(;o===t&&e.nextElementSibling;)o=(e=e.nextElementSibling).offsetParent;const n=o&&o.nodeName;return n&&'BODY'!==n&&'HTML'!==n?-1!==['TH','TD','TABLE'].indexOf(o.nodeName)&&'static'===s(o,'position')?c(o):o:e?e.ownerDocument.documentElement:document.documentElement}function u(e){const{nodeName:t}=e;return'BODY'!==t&&('HTML'===t||c(e.firstElementChild)===e)}function g(e){return null===e.parentNode?e:g(e.parentNode)}function b(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;const o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);const{commonAncestorContainer:p}=r;if(e!==p&&t!==p||n.contains(i))return u(p)?p:c(p);const d=g(e);return d.host?b(d.host,t):b(e,g(t).host)}function w(e,t='top'){const o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){const t=e.ownerDocument.documentElement,n=e.ownerDocument.scrollingElement||t;return n[o]}return e[o]}function y(e,t,o=!1){const n=w(t,'top'),i=w(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function E(e,t){const o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e[`border${o}Width`],10)+parseFloat(e[`border${n}Width`],10)}function x(e,t,o,n){return Math.max(t[`offset${e}`],t[`scroll${e}`],o[`client${e}`],o[`offset${e}`],o[`scroll${e}`],h(10)?parseInt(o[`offset${e}`])+parseInt(n[`margin${'Height'===e?'Top':'Left'}`])+parseInt(n[`margin${'Height'===e?'Bottom':'Right'}`]):0)}function v(e){const t=e.body,o=e.documentElement,n=h(10)&&getComputedStyle(o);return{height:x('Height',t,o,n),width:x('Width',t,o,n)}}var O=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e};function L(e){return O({},e,{right:e.left+e.width,bottom:e.top+e.height})}function S(e){let t={};try{if(h(10)){t=e.getBoundingClientRect();const o=w(e,'top'),n=w(e,'left');t.top+=o,t.left+=n,t.bottom+=o,t.right+=n}else t=e.getBoundingClientRect()}catch(t){}const o={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},n='HTML'===e.nodeName?v(e.ownerDocument):{},i=n.width||e.clientWidth||o.right-o.left,r=n.height||e.clientHeight||o.bottom-o.top;let p=e.offsetWidth-i,d=e.offsetHeight-r;if(p||d){const t=s(e);p-=E(t,'x'),d-=E(t,'y'),o.width-=p,o.height-=d}return L(o)}function T(e,t,o=!1){var n=Math.max;const i=h(10),r='HTML'===t.nodeName,p=S(e),d=S(t),f=a(e),l=s(t),m=parseFloat(l.borderTopWidth,10),c=parseFloat(l.borderLeftWidth,10);o&&r&&(d.top=n(d.top,0),d.left=n(d.left,0));let u=L({top:p.top-d.top-m,left:p.left-d.left-c,width:p.width,height:p.height});if(u.marginTop=0,u.marginLeft=0,!i&&r){const e=parseFloat(l.marginTop,10),t=parseFloat(l.marginLeft,10);u.top-=m-e,u.bottom-=m-e,u.left-=c-t,u.right-=c-t,u.marginTop=e,u.marginLeft=t}return(i&&!o?t.contains(f):t===f&&'BODY'!==f.nodeName)&&(u=y(u,t)),u}function D(e,t=!1){var o=Math.max;const n=e.ownerDocument.documentElement,i=T(e,n),r=o(n.clientWidth,window.innerWidth||0),p=o(n.clientHeight,window.innerHeight||0),d=t?0:w(n),s=t?0:w(n,'left'),f={top:d-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:r,height:p};return L(f)}function C(e){const t=e.nodeName;if('BODY'===t||'HTML'===t)return!1;if('fixed'===s(e,'position'))return!0;const o=f(e);return!!o&&C(o)}function N(e){if(!e||!e.parentElement||h())return document.documentElement;let t=e.parentElement;for(;t&&'none'===s(t,'transform');)t=t.parentElement;return t||document.documentElement}function P(e,t,o,n,i=!1){let r={top:0,left:0};const p=i?N(e):b(e,t);if('viewport'===n)r=D(p,i);else{let o;'scrollParent'===n?(o=a(f(t)),'BODY'===o.nodeName&&(o=e.ownerDocument.documentElement)):'window'===n?o=e.ownerDocument.documentElement:o=n;const d=T(o,p,i);if('HTML'===o.nodeName&&!C(p)){const{height:t,width:o}=v(e.ownerDocument);r.top+=d.top-d.marginTop,r.bottom=t+d.top,r.left+=d.left-d.marginLeft,r.right=o+d.left}else r=d}o=o||0;const d='number'==typeof o;return r.left+=d?o:o.left||0,r.top+=d?o:o.top||0,r.right-=d?o:o.right||0,r.bottom-=d?o:o.bottom||0,r}function B({width:e,height:t}){return e*t}function H(e,t,o,n,i,r=0){if(-1===e.indexOf('auto'))return e;const p=P(o,n,r,i),d={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},s=Object.keys(d).map((e)=>O({key:e},d[e],{area:B(d[e])})).sort((e,t)=>t.area-e.area),f=s.filter(({width:e,height:t})=>e>=o.clientWidth&&t>=o.clientHeight),a=0<f.length?f[0].key:s[0].key,l=e.split('-')[1];return a+(l?`-${l}`:'')}function W(e,t,o,n=null){const i=n?N(t):b(t,o);return T(o,i,n)}function k(e){const t=e.ownerDocument.defaultView,o=t.getComputedStyle(e),n=parseFloat(o.marginTop||0)+parseFloat(o.marginBottom||0),i=parseFloat(o.marginLeft||0)+parseFloat(o.marginRight||0),r={width:e.offsetWidth+i,height:e.offsetHeight+n};return r}function A(e){const t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,(e)=>t[e])}function M(e,t,o){o=o.split('-')[0];const n=k(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',d=r?'left':'top',s=r?'height':'width',f=r?'width':'height';return i[p]=t[p]+t[s]/2-n[s]/2,i[d]=o===d?t[d]-n[f]:t[A(d)],i}function F(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function I(e,t,o){if(Array.prototype.findIndex)return e.findIndex((e)=>e[t]===o);const n=F(e,(e)=>e[t]===o);return e.indexOf(n)}function R(e,t,o){const n=void 0===o?e:e.slice(0,I(e,'name',o));return n.forEach((e)=>{e['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');const o=e['function']||e.fn;e.enabled&&d(o)&&(t.offsets.popper=L(t.offsets.popper),t.offsets.reference=L(t.offsets.reference),t=o(t,e))}),t}function U(){if(this.state.isDestroyed)return;let e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=W(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=H(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=M(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=R(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}function Y(e,t){return e.some(({name:e,enabled:o})=>o&&e===t)}function V(e){const t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1);for(let n=0;n<t.length;n++){const i=t[n],r=i?`${i}${o}`:e;if('undefined'!=typeof document.body.style[r])return r}return null}function j(){return this.state.isDestroyed=!0,Y(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[V('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function K(e){const t=e.ownerDocument;return t?t.defaultView:window}function q(e,t,o,n){const i='BODY'===e.nodeName,r=i?e.ownerDocument.defaultView:e;r.addEventListener(t,o,{passive:!0}),i||q(a(r.parentNode),t,o,n),n.push(r)}function z(e,t,o,n){o.updateBound=n,K(e).addEventListener('resize',o.updateBound,{passive:!0});const i=a(e);return q(i,'scroll',o.updateBound,o.scrollParents),o.scrollElement=i,o.eventsEnabled=!0,o}function G(){this.state.eventsEnabled||(this.state=z(this.reference,this.options,this.state,this.scheduleUpdate))}function _(e,t){return K(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach((e)=>{e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function X(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=_(this.reference,this.state))}function J(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function Q(e,t){Object.keys(t).forEach((o)=>{let n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&J(t[o])&&(n='px'),e.style[o]=t[o]+n})}function Z(e,t){Object.keys(t).forEach(function(o){const n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function $(e){return Q(e.instance.popper,e.styles),Z(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&Q(e.arrowElement,e.arrowStyles),e}function ee(e,t,o,n,i){const r=W(i,t,e,o.positionFixed),p=H(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),Q(t,{position:o.positionFixed?'fixed':'absolute'}),o}function te(e,t){const{popper:o,reference:n}=e.offsets,{round:i,floor:r}=Math,p=(e)=>e,d=i(n.width),s=i(o.width),f=-1!==['left','right'].indexOf(e.placement),a=-1!==e.placement.indexOf('-'),l=t?f||a||d%2==s%2?i:r:p,m=t?i:p;return{left:l(1==d%2&&1==s%2&&!a&&t?o.left-1:o.left),top:m(o.top),bottom:m(o.bottom),right:l(o.right)}}const oe=e&&/Firefox/i.test(navigator.userAgent);function ne(e,t){const{x:o,y:n}=t,{popper:i}=e.offsets,r=F(e.instance.modifiers,(e)=>'applyStyle'===e.name).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');const p=void 0===r?t.gpuAcceleration:r,d=c(e.instance.popper),s=S(d),f={position:i.position},a=te(e,2>window.devicePixelRatio||!oe),l='bottom'===o?'top':'bottom',m='right'===n?'left':'right',h=V('transform');let u,g;if(g='bottom'==l?'HTML'===d.nodeName?-d.clientHeight+a.bottom:-s.height+a.bottom:a.top,u='right'==m?'HTML'===d.nodeName?-d.clientWidth+a.right:-s.width+a.right:a.left,p&&h)f[h]=`translate3d(${u}px, ${g}px, 0)`,f[l]=0,f[m]=0,f.willChange='transform';else{const e='bottom'==l?-1:1,t='right'==m?-1:1;f[l]=g*e,f[m]=u*t,f.willChange=`${l}, ${m}`}const b={"x-placement":e.placement};return e.attributes=O({},b,e.attributes),e.styles=O({},f,e.styles),e.arrowStyles=O({},e.offsets.arrow,e.arrowStyles),e}function ie(e,t,o){const n=F(e,({name:e})=>e===t),i=!!n&&e.some((e)=>e.name===o&&e.enabled&&e.order<n.order);if(!i){const e=`\`${t}\``,n=`\`${o}\``;console.warn(`${n} modifier is required by ${e} modifier in order to work, be sure to include it before ${e}!`)}return i}function re(e,t){if(!ie(e.instance.modifiers,'arrow','keepTogether'))return e;let o=t.element;if('string'==typeof o){if(o=e.instance.popper.querySelector(o),!o)return e;}else if(!e.instance.popper.contains(o))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;const n=e.placement.split('-')[0],{popper:i,reference:r}=e.offsets,p=-1!==['left','right'].indexOf(n),d=p?'height':'width',f=p?'Top':'Left',a=f.toLowerCase(),l=p?'left':'top',m=p?'bottom':'right',h=k(o)[d];r[m]-h<i[a]&&(e.offsets.popper[a]-=i[a]-(r[m]-h)),r[a]+h>i[m]&&(e.offsets.popper[a]+=r[a]+h-i[m]),e.offsets.popper=L(e.offsets.popper);const c=r[a]+r[d]/2-h/2,u=s(e.instance.popper),g=parseFloat(u[`margin${f}`],10),b=parseFloat(u[`border${f}Width`],10);let w=c-e.offsets.popper[a]-g-b;return w=Math.max(Math.min(i[d]-h,w),0),e.arrowElement=o,e.offsets.arrow={[a]:Math.round(w),[l]:''},e}function pe(e){if('end'===e)return'start';return'start'===e?'end':e}var de=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'];const se=de.slice(3);function fe(e,t=!1){const o=se.indexOf(e),n=se.slice(o+1).concat(se.slice(0,o));return t?n.reverse():n}const ae={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'};function le(e,t){if(Y(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;const o=P(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed);let n=e.placement.split('-')[0],i=A(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ae.FLIP:p=[n,i];break;case ae.CLOCKWISE:p=fe(n);break;case ae.COUNTERCLOCKWISE:p=fe(n,!0);break;default:p=t.behavior;}return p.forEach((d,s)=>{if(n!==d||p.length===s+1)return e;n=e.placement.split('-')[0],i=A(n);const f=e.offsets.popper,a=e.offsets.reference,l=Math.floor,m='left'===n&&l(f.right)>l(a.left)||'right'===n&&l(f.left)<l(a.right)||'top'===n&&l(f.bottom)>l(a.top)||'bottom'===n&&l(f.top)<l(a.bottom),h=l(f.left)<l(o.left),c=l(f.right)>l(o.right),u=l(f.top)<l(o.top),g=l(f.bottom)>l(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&u||'bottom'===n&&g,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&u||!w&&'end'===r&&g),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&g||!w&&'end'===r&&u),x=y||E;(m||b||x)&&(e.flipped=!0,(m||b)&&(n=p[s+1]),x&&(r=pe(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=O({},e.offsets.popper,M(e.instance.popper,e.offsets.reference,e.placement)),e=R(e.instance.modifiers,e,'flip'))}),e}function me(e){const{popper:t,reference:o}=e.offsets,n=e.placement.split('-')[0],i=Math.floor,r=-1!==['top','bottom'].indexOf(n),p=r?'right':'bottom',d=r?'left':'top',s=r?'width':'height';return t[p]<i(o[d])&&(e.offsets.popper[d]=i(o[d])-t[s]),t[d]>i(o[p])&&(e.offsets.popper[d]=i(o[p])),e}function he(e,t,o,n){var i=Math.max;const r=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),p=+r[1],d=r[2];if(!p)return e;if(0===d.indexOf('%')){let e;switch(d){case'%p':e=o;break;case'%':case'%r':default:e=n;}const i=L(e);return i[t]/100*p}if('vh'===d||'vw'===d){let e;return e='vh'===d?i(document.documentElement.clientHeight,window.innerHeight||0):i(document.documentElement.clientWidth,window.innerWidth||0),e/100*p}return p}function ce(e,t,o,n){const i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map((e)=>e.trim()),d=p.indexOf(F(p,(e)=>-1!==e.search(/,|\s/)));p[d]&&-1===p[d].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');const s=/\s*,\s*|\s+/;let f=-1===d?[p]:[p.slice(0,d).concat([p[d].split(s)[0]]),[p[d].split(s)[1]].concat(p.slice(d+1))];return f=f.map((e,n)=>{const i=(1===n?!r:r)?'height':'width';let p=!1;return e.reduce((e,t)=>''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t),[]).map((e)=>he(e,i,t,o))}),f.forEach((e,t)=>{e.forEach((o,n)=>{J(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function ue(e,{offset:t}){const{placement:o,offsets:{popper:n,reference:i}}=e,r=o.split('-')[0];let p;return p=J(+t)?[+t,0]:ce(t,n,i,r),'left'===r?(n.top+=p[0],n.left-=p[1]):'right'===r?(n.top+=p[0],n.left+=p[1]):'top'===r?(n.left+=p[0],n.top-=p[1]):'bottom'===r&&(n.left+=p[0],n.top+=p[1]),e.popper=n,e}function ge(e,t){let o=t.boundariesElement||c(e.instance.popper);e.instance.reference===o&&(o=c(o));const n=V('transform'),i=e.instance.popper.style,{top:r,left:p,[n]:d}=i;i.top='',i.left='',i[n]='';const s=P(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=p,i[n]=d,t.boundaries=s;const f=t.priority;let a=e.offsets.popper;const l={primary(e){let o=a[e];return a[e]<s[e]&&!t.escapeWithReference&&(o=Math.max(a[e],s[e])),{[e]:o}},secondary(e){const o='right'===e?'left':'top';let n=a[o];return a[e]>s[e]&&!t.escapeWithReference&&(n=Math.min(a[o],s[e]-('right'===e?a.width:a.height))),{[o]:n}}};return f.forEach((e)=>{const t=-1===['left','top'].indexOf(e)?'secondary':'primary';a=O({},a,l[t](e))}),e.offsets.popper=a,e}function be(e){const t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){const{reference:t,popper:i}=e.offsets,r=-1!==['bottom','top'].indexOf(o),p=r?'left':'top',d=r?'width':'height',s={start:{[p]:t[p]},end:{[p]:t[p]+t[d]-i[d]}};e.offsets.popper=O({},i,s[n])}return e}function we(e){if(!ie(e.instance.modifiers,'hide','preventOverflow'))return e;const t=e.offsets.reference,o=F(e.instance.modifiers,(e)=>'preventOverflow'===e.name).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}function ye(e){const t=e.placement,o=t.split('-')[0],{popper:n,reference:i}=e.offsets,r=-1!==['left','right'].indexOf(o),p=-1===['top','left'].indexOf(o);return n[r?'left':'top']=i[o]-(p?n[r?'width':'height']:0),e.placement=A(t),e.offsets.popper=L(n),e}var Ee={shift:{order:100,enabled:!0,fn:be},offset:{order:200,enabled:!0,fn:ue,offset:0},preventOverflow:{order:300,enabled:!0,fn:ge,priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:me},arrow:{order:500,enabled:!0,fn:re,element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:le,behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:ye},hide:{order:800,enabled:!0,fn:we},computeStyle:{order:850,enabled:!0,fn:ne,gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:$,onLoad:ee,gpuAcceleration:void 0}},xe={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:()=>{},onUpdate:()=>{},modifiers:Ee};class ve{constructor(e,t,o={}){this.scheduleUpdate=()=>requestAnimationFrame(this.update),this.update=p(this.update.bind(this)),this.options=O({},ve.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(O({},ve.Defaults.modifiers,o.modifiers)).forEach((e)=>{this.options.modifiers[e]=O({},ve.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map((e)=>O({name:e},this.options.modifiers[e])).sort((e,t)=>e.order-t.order),this.modifiers.forEach((e)=>{e.enabled&&d(e.onLoad)&&e.onLoad(this.reference,this.popper,this.options,e,this.state)}),this.update();const n=this.options.eventsEnabled;n&&this.enableEventListeners(),this.state.eventsEnabled=n}update(){return U.call(this)}destroy(){return j.call(this)}enableEventListeners(){return G.call(this)}disableEventListeners(){return X.call(this)}}ve.Utils=('undefined'==typeof window?global:window).PopperUtils,ve.placements=de,ve.Defaults=xe;export default ve;
5
+ //# sourceMappingURL=popper.min.js.map
@@ -0,0 +1,5 @@
1
+ /*
2
+ Copyright (C) Federico Zivolo 2019
3
+ Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
4
+ */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?pe:10===e?se:pe||se}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){var i=e.ownerDocument.documentElement,r=e.ownerDocument.scrollingElement||i;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=l(t,'top'),i=l(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function m(e,t){var o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e['border'+o+'Width'],10)+parseFloat(e['border'+n+'Width'],10)}function h(e,t,o,n){return ee(t['offset'+e],t['scroll'+e],o['client'+e],o['offset'+e],o['scroll'+e],r(10)?parseInt(o['offset'+e])+parseInt(n['margin'+('Height'===e?'Top':'Left')])+parseInt(n['margin'+('Height'===e?'Bottom':'Right')]):0)}function c(e){var t=e.body,o=e.documentElement,n=r(10)&&getComputedStyle(o);return{height:h('Height',t,o,n),width:h('Width',t,o,n)}}function g(e){return fe({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var o={};try{if(r(10)){o=e.getBoundingClientRect();var n=l(e,'top'),i=l(e,'left');o.top+=n,o.left+=i,o.bottom+=n,o.right+=i}else o=e.getBoundingClientRect()}catch(t){}var p={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},s='HTML'===e.nodeName?c(e.ownerDocument):{},d=s.width||e.clientWidth||p.right-p.left,a=s.height||e.clientHeight||p.bottom-p.top,f=e.offsetWidth-d,h=e.offsetHeight-a;if(f||h){var u=t(e);f-=m(u,'x'),h-=m(u,'y'),p.width-=f,p.height-=h}return g(p)}function b(e,o){var i=2<arguments.length&&void 0!==arguments[2]&&arguments[2],p=r(10),s='HTML'===o.nodeName,d=u(e),a=u(o),l=n(e),m=t(o),h=parseFloat(m.borderTopWidth,10),c=parseFloat(m.borderLeftWidth,10);i&&s&&(a.top=ee(a.top,0),a.left=ee(a.left,0));var b=g({top:d.top-a.top-h,left:d.left-a.left-c,width:d.width,height:d.height});if(b.marginTop=0,b.marginLeft=0,!p&&s){var w=parseFloat(m.marginTop,10),y=parseFloat(m.marginLeft,10);b.top-=h-w,b.bottom-=h-w,b.left-=c-y,b.right-=c-y,b.marginTop=w,b.marginLeft=y}return(p&&!i?o.contains(l):o===l&&'BODY'!==l.nodeName)&&(b=f(b,o)),b}function w(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=e.ownerDocument.documentElement,n=b(e,o),i=ee(o.clientWidth,window.innerWidth||0),r=ee(o.clientHeight,window.innerHeight||0),p=t?0:l(o),s=t?0:l(o,'left'),d={top:p-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r};return g(d)}function y(e){var n=e.nodeName;if('BODY'===n||'HTML'===n)return!1;if('fixed'===t(e,'position'))return!0;var i=o(e);return!!i&&y(i)}function E(e){if(!e||!e.parentElement||r())return document.documentElement;for(var o=e.parentElement;o&&'none'===t(o,'transform');)o=o.parentElement;return o||document.documentElement}function v(e,t,i,r){var p=4<arguments.length&&void 0!==arguments[4]&&arguments[4],s={top:0,left:0},d=p?E(e):a(e,t);if('viewport'===r)s=w(d,p);else{var l;'scrollParent'===r?(l=n(o(t)),'BODY'===l.nodeName&&(l=e.ownerDocument.documentElement)):'window'===r?l=e.ownerDocument.documentElement:l=r;var f=b(l,d,p);if('HTML'===l.nodeName&&!y(d)){var m=c(e.ownerDocument),h=m.height,g=m.width;s.top+=f.top-f.marginTop,s.bottom=h+f.top,s.left+=f.left-f.marginLeft,s.right=g+f.left}else s=f}i=i||0;var u='number'==typeof i;return s.left+=u?i:i.left||0,s.top+=u?i:i.top||0,s.right-=u?i:i.right||0,s.bottom-=u?i:i.bottom||0,s}function x(e){var t=e.width,o=e.height;return t*o}function O(e,t,o,n,i){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=v(o,n,r,i),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return fe({key:e},s[e],{area:x(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,n=e.height;return t>=o.clientWidth&&n>=o.clientHeight}),l=0<a.length?a[0].key:d[0].key,f=e.split('-')[1];return l+(f?'-'+f:'')}function L(e,t,o){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,i=n?E(t):a(t,o);return b(o,i,n)}function S(e){var t=e.ownerDocument.defaultView,o=t.getComputedStyle(e),n=parseFloat(o.marginTop||0)+parseFloat(o.marginBottom||0),i=parseFloat(o.marginLeft||0)+parseFloat(o.marginRight||0),r={width:e.offsetWidth+i,height:e.offsetHeight+n};return r}function T(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function C(e,t,o){o=o.split('-')[0];var n=S(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return i[p]=t[p]+t[d]/2-n[d]/2,i[s]=o===s?t[s]-n[a]:t[T(s)],i}function D(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function N(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=D(e,function(e){return e[t]===o});return e.indexOf(n)}function P(t,o,n){var i=void 0===n?t:t.slice(0,N(t,'name',n));return i.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var n=t['function']||t.fn;t.enabled&&e(n)&&(o.offsets.popper=g(o.offsets.popper),o.offsets.reference=g(o.offsets.reference),o=n(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=C(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=P(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,n=e.enabled;return n&&o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof document.body.style[r])return r}return null}function H(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function A(e){var t=e.ownerDocument;return t?t.defaultView:window}function M(e,t,o,i){var r='BODY'===e.nodeName,p=r?e.ownerDocument.defaultView:e;p.addEventListener(t,o,{passive:!0}),r||M(n(p.parentNode),t,o,i),i.push(p)}function F(e,t,o,i){o.updateBound=i,A(e).addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return M(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function I(){this.state.eventsEnabled||(this.state=F(this.reference,this.options,this.state,this.scheduleUpdate))}function R(e,t){return A(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function U(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=R(this.reference,this.state))}function Y(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function V(e,t){Object.keys(t).forEach(function(o){var n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&Y(t[o])&&(n='px'),e.style[o]=t[o]+n})}function j(e,t){Object.keys(t).forEach(function(o){var n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function q(e,t){var o=e.offsets,n=o.popper,i=o.reference,r=$,p=function(e){return e},s=r(i.width),d=r(n.width),a=-1!==['left','right'].indexOf(e.placement),l=-1!==e.placement.indexOf('-'),f=t?a||l||s%2==d%2?r:Z:p,m=t?r:p;return{left:f(1==s%2&&1==d%2&&!l&&t?n.left-1:n.left),top:m(n.top),bottom:m(n.bottom),right:f(n.right)}}function K(e,t,o){var n=D(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.order<n.order});if(!i){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return i}function z(e){return'end'===e?'start':'start'===e?'end':e}function G(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=ce.indexOf(e),n=ce.slice(o+1).concat(ce.slice(0,o));return t?n.reverse():n}function _(e,t,o,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],p=i[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=n;}var d=g(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?ee(document.documentElement.clientHeight,window.innerHeight||0):ee(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function X(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(D(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return _(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){Y(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function J(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=Y(+n)?[+n,0]:X(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}for(var Q=Math.min,Z=Math.floor,$=Math.round,ee=Math.max,te='undefined'!=typeof window&&'undefined'!=typeof document,oe=['Edge','Trident','Firefox'],ne=0,ie=0;ie<oe.length;ie+=1)if(te&&0<=navigator.userAgent.indexOf(oe[ie])){ne=1;break}var i=te&&window.Promise,re=i?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},ne))}},pe=te&&!!(window.MSInputMethodContext&&document.documentMode),se=te&&/MSIE 10/.test(navigator.userAgent),de=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},ae=function(){function e(e,t){for(var o,n=0;n<t.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),le=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},fe=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},me=te&&/Firefox/i.test(navigator.userAgent),he=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],ce=he.slice(3),ge={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ue=function(){function t(o,n){var i=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};de(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=re(this.update.bind(this)),this.options=fe({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o&&o.jquery?o[0]:o,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(fe({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=fe({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return fe({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return ae(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return H.call(this)}},{key:'enableEventListeners',value:function(){return I.call(this)}},{key:'disableEventListeners',value:function(){return U.call(this)}}]),t}();return ue.Utils=('undefined'==typeof window?global:window).PopperUtils,ue.placements=he,ue.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:le({},d,r[d]),end:le({},d,r[d]+r[a]-p[a])};e.offsets.popper=fe({},p,l[n])}return e}},offset:{order:200,enabled:!0,fn:J,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||p(e.instance.popper);e.instance.reference===o&&(o=p(o));var n=B('transform'),i=e.instance.popper.style,r=i.top,s=i.left,d=i[n];i.top='',i.left='',i[n]='';var a=v(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=s,i[n]=d,t.boundaries=a;var l=t.priority,f=e.offsets.popper,m={primary:function(e){var o=f[e];return f[e]<a[e]&&!t.escapeWithReference&&(o=ee(f[e],a[e])),le({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=f[o];return f[e]>a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),le({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=fe({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(n[d])&&(e.offsets.popper[d]=r(n[d])-o[a]),o[d]>r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-u<s[m]&&(e.offsets.popper[m]-=s[m]-(d[c]-u)),d[m]+u>s[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},le(n,m,$(v)),le(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ge.FLIP:p=[n,i];break;case ge.CLOCKWISE:p=G(n);break;case ge.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)<f(l.right)||'top'===n&&f(a.bottom)>f(l.top)||'bottom'===n&&f(a.top)<f(l.bottom),h=f(a.left)<f(o.left),c=f(a.right)>f(o.right),g=f(a.top)<f(o.top),u=f(a.bottom)>f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=fe({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,n=t.y,i=e.offsets.popper,r=D(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===r?t.gpuAcceleration:r,l=p(e.instance.popper),f=u(l),m={position:i.position},h=q(e,2>window.devicePixelRatio||!me),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=fe({},E,e.attributes),e.styles=fe({},m,e.styles),e.arrowStyles=fe({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ue});
5
+ //# sourceMappingURL=popper.min.js.map
@@ -0,0 +1,128 @@
1
+ require "cgi"
2
+ require "jekyll"
3
+ require "sanitize"
4
+ require "uri"
5
+
6
+ require "jekyll-theme-cs50/constants"
7
+
8
+ module CS50
9
+
10
+ class AlertBlock < Liquid::Block
11
+
12
+ def initialize(tag_name, text, tokens)
13
+ super
14
+ alert = text.strip().gsub(/\A"|"\Z/, "").gsub(/\A"|"\Z/, "")
15
+ @alert = (["primary", "secondary", "success", "danger", "warning", "info", "light", "dark"].include? alert) ? alert : ""
16
+ end
17
+
18
+ def render(context)
19
+ site = context.registers[:site]
20
+ converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
21
+ message = converter.convert(super(context))
22
+ <<~EOT
23
+ <div class="alert" data-alert="#{@alert}" role="alert">
24
+ #{message}
25
+ </div>
26
+ EOT
27
+ end
28
+
29
+ Liquid::Template.register_tag("alert", self)
30
+
31
+ end
32
+
33
+ class NextTag < Liquid::Tag
34
+
35
+ def initialize(tag_name, text, tokens)
36
+ super
37
+ @text = (text.length > 0) ? CGI.escapeHTML(text.strip().gsub(/\A"|"\Z/, "").gsub(/\A"|"\Z/, "")) : "Next"
38
+ end
39
+
40
+ def render(context)
41
+ site = context.registers[:site]
42
+ converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
43
+ button = Sanitize.fragment(converter.convert(@text), :elements => ["b", "code", "em", "i", "img", "span", "strong", "sub", "sup"])
44
+ <<~EOT
45
+ <button class="btn btn-dark btn-sm" data-next type="button">#{button}</button>
46
+ EOT
47
+ end
48
+
49
+ Liquid::Template.register_tag("next", self)
50
+
51
+ end
52
+
53
+ class SpoilerBlock < Liquid::Block
54
+
55
+ def initialize(tag_name, text, tokens)
56
+ super
57
+ @text = (text.length > 0) ? CGI.escapeHTML(text.strip().gsub(/\A"|"\Z/, "").gsub(/\A"|"\Z/, "")) : "Spoiler"
58
+ end
59
+
60
+ # https://stackoverflow.com/q/19169849/5156190
61
+ # https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button (re phrasing, but not interactive, content)
62
+ def render(context)
63
+ site = context.registers[:site]
64
+ converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
65
+ summary = Sanitize.fragment(converter.convert(@text), :elements => ["b", "code", "em", "i", "img", "span", "strong", "sub", "sup"])
66
+ details = converter.convert(super(context))
67
+ <<~EOT
68
+ <details>
69
+ <summary>#{summary}</summary>
70
+ #{details}
71
+ </details>
72
+ EOT
73
+ end
74
+
75
+ Liquid::Template.register_tag("spoiler", self)
76
+
77
+ end
78
+
79
+ class VideoTag < Liquid::Tag
80
+
81
+ # https://gist.github.com/niquepa/4c59b7d52a15dde2367a
82
+ def initialize(tag_name, text, tokens)
83
+ super
84
+ if text =~ /^https?:\/\/(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/
85
+ @v = $1
86
+ components = {
87
+ rel: "0",
88
+ showinfo: "0"
89
+ }
90
+ params = CGI::parse(URI::parse(text.strip).query || "")
91
+ ["autoplay", "end", "index", "list", "start", "t"].each do |param|
92
+ if params.key?(param)
93
+ components[param] = params[param].first
94
+ end
95
+ end
96
+ @src = URI::HTTPS.build(:host => "www.youtube.com", :path => "/embed/#{@v}", :query => URI.encode_www_form(components))
97
+ end
98
+ end
99
+
100
+ def render(context)
101
+ if @v and @src
102
+ <<~EOT
103
+ <div class="embed-responsive embed-responsive-16by9">
104
+ <iframe allowfullscreen class="border embed-responsive-item" src="#{@src}" style="background-image: url('https://img.youtube.com/vi/#{@v}/sddefault.jpg'); background-repeat: no-repeat; background-size: cover;"></iframe>
105
+ </div>
106
+ EOT
107
+ else
108
+ <<~EOT
109
+ <p><img alt="static" class="border" data-video src="https://i.imgur.com/xnZ5A2u.gif"></p>
110
+ EOT
111
+ end
112
+ end
113
+
114
+ Liquid::Template.register_tag("video", self)
115
+
116
+ end
117
+ end
118
+
119
+ # Configure site
120
+ Jekyll::Hooks.register :site, :after_reset do |site|
121
+ site.config = Jekyll::Utils.deep_merge_hashes(Jekyll::Utils.deep_merge_hashes(CS50::DEFAULTS, site.config), CS50::OVERRIDES)
122
+ end
123
+
124
+ # TODO: In offline mode, base64-encode images, embed CSS (in style tags) and JS (in script tags), a la
125
+ # https://github.com/jekyll/jekyll-mentions/blob/master/lib/jekyll-mentions.rb and
126
+ # https://github.com/jekyll/jemoji/blob/master/lib/jemoji.rb
127
+ Jekyll::Hooks.register [:pages, :documents], :post_render do |doc|
128
+ end
@@ -0,0 +1,36 @@
1
+ module CS50
2
+
3
+ PLUGINS = {
4
+ "jekyll-default-layout" => "0.1.4",
5
+ "jekyll-optional-front-matter" => "0.3.0",
6
+ "jekyll-redirect-from" => "0.15.0",
7
+ "jekyll-relative-links" => "0.6.0",
8
+ "jekyll-titles-from-headings" => "0.5.1",
9
+ "jemoji" => "0.11.0"
10
+ }.freeze
11
+
12
+ DEFAULTS = {
13
+ "optional_front_matter" => {
14
+ "remove_originals" => true
15
+ },
16
+ "plugins" => CS50::PLUGINS
17
+ }.freeze
18
+
19
+ OVERRIDES = {
20
+ "exclude" => [
21
+ "redirects.json"
22
+ ],
23
+ "kramdown" => {
24
+ "gfm_quirks" => "paragraph_end",
25
+ "hard_wrap" => false,
26
+ "input" => "GFM",
27
+ "math_engine" => "mathjax",
28
+ "syntax_highlighter" => "rouge",
29
+ "template" => ""
30
+ },
31
+ "markdown" => "kramdown",
32
+ "permalink" => "pretty",
33
+ "theme" => "jekyll-theme-cs50"
34
+ }.freeze
35
+
36
+ end
metadata CHANGED
@@ -1,111 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-cs50
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CS50
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-20 00:00:00.000000000 Z
11
+ date: 2019-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.8.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.8.6
27
+ - !ruby/object:Gem::Dependency
28
+ name: sanitize
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 5.0.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 5.0.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: jekyll-default-layout
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - "~>"
45
+ - - '='
32
46
  - !ruby/object:Gem::Version
33
47
  version: 0.1.4
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - "~>"
52
+ - - '='
39
53
  - !ruby/object:Gem::Version
40
54
  version: 0.1.4
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: jekyll-optional-front-matter
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - "~>"
59
+ - - '='
46
60
  - !ruby/object:Gem::Version
47
61
  version: 0.3.0
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - '='
53
67
  - !ruby/object:Gem::Version
54
68
  version: 0.3.0
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: jekyll-redirect-from
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - "~>"
73
+ - - '='
60
74
  - !ruby/object:Gem::Version
61
75
  version: 0.15.0
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - '='
67
81
  - !ruby/object:Gem::Version
68
82
  version: 0.15.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: jekyll-relative-links
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - "~>"
87
+ - - '='
74
88
  - !ruby/object:Gem::Version
75
89
  version: 0.6.0
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - '='
81
95
  - !ruby/object:Gem::Version
82
96
  version: 0.6.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: jekyll-titles-from-headings
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - "~>"
101
+ - - '='
88
102
  - !ruby/object:Gem::Version
89
103
  version: 0.5.1
90
104
  type: :runtime
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - "~>"
108
+ - - '='
95
109
  - !ruby/object:Gem::Version
96
110
  version: 0.5.1
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: jemoji
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - "~>"
115
+ - - '='
102
116
  - !ruby/object:Gem::Version
103
117
  version: 0.11.0
104
118
  type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - "~>"
122
+ - - '='
109
123
  - !ruby/object:Gem::Version
110
124
  version: 0.11.0
111
125
  description:
@@ -116,103 +130,130 @@ extra_rdoc_files: []
116
130
  files:
117
131
  - LICENSE.txt
118
132
  - _includes/footer.md
133
+ - _includes/head.html
119
134
  - _includes/header.md
120
135
  - _includes/nav.md
121
136
  - _layouts/page.html
137
+ - _sass/bootstrap/LICENSE
138
+ - _sass/bootstrap/scss/_alert.scss
139
+ - _sass/bootstrap/scss/_badge.scss
140
+ - _sass/bootstrap/scss/_breadcrumb.scss
141
+ - _sass/bootstrap/scss/_button-group.scss
142
+ - _sass/bootstrap/scss/_buttons.scss
143
+ - _sass/bootstrap/scss/_card.scss
144
+ - _sass/bootstrap/scss/_carousel.scss
145
+ - _sass/bootstrap/scss/_close.scss
146
+ - _sass/bootstrap/scss/_code.scss
147
+ - _sass/bootstrap/scss/_custom-forms.scss
148
+ - _sass/bootstrap/scss/_dropdown.scss
149
+ - _sass/bootstrap/scss/_forms.scss
150
+ - _sass/bootstrap/scss/_functions.scss
151
+ - _sass/bootstrap/scss/_grid.scss
152
+ - _sass/bootstrap/scss/_images.scss
153
+ - _sass/bootstrap/scss/_input-group.scss
154
+ - _sass/bootstrap/scss/_jumbotron.scss
155
+ - _sass/bootstrap/scss/_list-group.scss
156
+ - _sass/bootstrap/scss/_media.scss
157
+ - _sass/bootstrap/scss/_mixins.scss
158
+ - _sass/bootstrap/scss/_modal.scss
159
+ - _sass/bootstrap/scss/_nav.scss
160
+ - _sass/bootstrap/scss/_navbar.scss
161
+ - _sass/bootstrap/scss/_pagination.scss
162
+ - _sass/bootstrap/scss/_popover.scss
163
+ - _sass/bootstrap/scss/_print.scss
164
+ - _sass/bootstrap/scss/_progress.scss
165
+ - _sass/bootstrap/scss/_reboot.scss
166
+ - _sass/bootstrap/scss/_root.scss
167
+ - _sass/bootstrap/scss/_spinners.scss
168
+ - _sass/bootstrap/scss/_tables.scss
169
+ - _sass/bootstrap/scss/_toasts.scss
170
+ - _sass/bootstrap/scss/_tooltip.scss
171
+ - _sass/bootstrap/scss/_transitions.scss
172
+ - _sass/bootstrap/scss/_type.scss
173
+ - _sass/bootstrap/scss/_utilities.scss
174
+ - _sass/bootstrap/scss/_variables.scss
175
+ - _sass/bootstrap/scss/bootstrap-grid.scss
176
+ - _sass/bootstrap/scss/bootstrap-reboot.scss
177
+ - _sass/bootstrap/scss/bootstrap.scss
178
+ - _sass/bootstrap/scss/mixins/_alert.scss
179
+ - _sass/bootstrap/scss/mixins/_background-variant.scss
180
+ - _sass/bootstrap/scss/mixins/_badge.scss
181
+ - _sass/bootstrap/scss/mixins/_border-radius.scss
182
+ - _sass/bootstrap/scss/mixins/_box-shadow.scss
183
+ - _sass/bootstrap/scss/mixins/_breakpoints.scss
184
+ - _sass/bootstrap/scss/mixins/_buttons.scss
185
+ - _sass/bootstrap/scss/mixins/_caret.scss
186
+ - _sass/bootstrap/scss/mixins/_clearfix.scss
187
+ - _sass/bootstrap/scss/mixins/_deprecate.scss
188
+ - _sass/bootstrap/scss/mixins/_float.scss
189
+ - _sass/bootstrap/scss/mixins/_forms.scss
190
+ - _sass/bootstrap/scss/mixins/_gradients.scss
191
+ - _sass/bootstrap/scss/mixins/_grid-framework.scss
192
+ - _sass/bootstrap/scss/mixins/_grid.scss
193
+ - _sass/bootstrap/scss/mixins/_hover.scss
194
+ - _sass/bootstrap/scss/mixins/_image.scss
195
+ - _sass/bootstrap/scss/mixins/_list-group.scss
196
+ - _sass/bootstrap/scss/mixins/_lists.scss
197
+ - _sass/bootstrap/scss/mixins/_nav-divider.scss
198
+ - _sass/bootstrap/scss/mixins/_pagination.scss
199
+ - _sass/bootstrap/scss/mixins/_reset-text.scss
200
+ - _sass/bootstrap/scss/mixins/_resize.scss
201
+ - _sass/bootstrap/scss/mixins/_screen-reader.scss
202
+ - _sass/bootstrap/scss/mixins/_size.scss
203
+ - _sass/bootstrap/scss/mixins/_table-row.scss
204
+ - _sass/bootstrap/scss/mixins/_text-emphasis.scss
205
+ - _sass/bootstrap/scss/mixins/_text-hide.scss
206
+ - _sass/bootstrap/scss/mixins/_text-truncate.scss
207
+ - _sass/bootstrap/scss/mixins/_transition.scss
208
+ - _sass/bootstrap/scss/mixins/_visibility.scss
209
+ - _sass/bootstrap/scss/utilities/_align.scss
210
+ - _sass/bootstrap/scss/utilities/_background.scss
211
+ - _sass/bootstrap/scss/utilities/_borders.scss
212
+ - _sass/bootstrap/scss/utilities/_clearfix.scss
213
+ - _sass/bootstrap/scss/utilities/_display.scss
214
+ - _sass/bootstrap/scss/utilities/_embed.scss
215
+ - _sass/bootstrap/scss/utilities/_flex.scss
216
+ - _sass/bootstrap/scss/utilities/_float.scss
217
+ - _sass/bootstrap/scss/utilities/_overflow.scss
218
+ - _sass/bootstrap/scss/utilities/_position.scss
219
+ - _sass/bootstrap/scss/utilities/_screenreaders.scss
220
+ - _sass/bootstrap/scss/utilities/_shadows.scss
221
+ - _sass/bootstrap/scss/utilities/_sizing.scss
222
+ - _sass/bootstrap/scss/utilities/_spacing.scss
223
+ - _sass/bootstrap/scss/utilities/_stretched-link.scss
224
+ - _sass/bootstrap/scss/utilities/_text.scss
225
+ - _sass/bootstrap/scss/utilities/_visibility.scss
226
+ - _sass/bootstrap/scss/vendor/_rfs.scss
122
227
  - _sass/jekyll-theme-cs50.scss
123
- - _sass/node_modules/bootstrap/LICENSE
124
- - _sass/node_modules/bootstrap/scss/_alert.scss
125
- - _sass/node_modules/bootstrap/scss/_badge.scss
126
- - _sass/node_modules/bootstrap/scss/_breadcrumb.scss
127
- - _sass/node_modules/bootstrap/scss/_button-group.scss
128
- - _sass/node_modules/bootstrap/scss/_buttons.scss
129
- - _sass/node_modules/bootstrap/scss/_card.scss
130
- - _sass/node_modules/bootstrap/scss/_carousel.scss
131
- - _sass/node_modules/bootstrap/scss/_close.scss
132
- - _sass/node_modules/bootstrap/scss/_code.scss
133
- - _sass/node_modules/bootstrap/scss/_custom-forms.scss
134
- - _sass/node_modules/bootstrap/scss/_dropdown.scss
135
- - _sass/node_modules/bootstrap/scss/_forms.scss
136
- - _sass/node_modules/bootstrap/scss/_functions.scss
137
- - _sass/node_modules/bootstrap/scss/_grid.scss
138
- - _sass/node_modules/bootstrap/scss/_images.scss
139
- - _sass/node_modules/bootstrap/scss/_input-group.scss
140
- - _sass/node_modules/bootstrap/scss/_jumbotron.scss
141
- - _sass/node_modules/bootstrap/scss/_list-group.scss
142
- - _sass/node_modules/bootstrap/scss/_media.scss
143
- - _sass/node_modules/bootstrap/scss/_mixins.scss
144
- - _sass/node_modules/bootstrap/scss/_modal.scss
145
- - _sass/node_modules/bootstrap/scss/_nav.scss
146
- - _sass/node_modules/bootstrap/scss/_navbar.scss
147
- - _sass/node_modules/bootstrap/scss/_pagination.scss
148
- - _sass/node_modules/bootstrap/scss/_popover.scss
149
- - _sass/node_modules/bootstrap/scss/_print.scss
150
- - _sass/node_modules/bootstrap/scss/_progress.scss
151
- - _sass/node_modules/bootstrap/scss/_reboot.scss
152
- - _sass/node_modules/bootstrap/scss/_root.scss
153
- - _sass/node_modules/bootstrap/scss/_spinners.scss
154
- - _sass/node_modules/bootstrap/scss/_tables.scss
155
- - _sass/node_modules/bootstrap/scss/_toasts.scss
156
- - _sass/node_modules/bootstrap/scss/_tooltip.scss
157
- - _sass/node_modules/bootstrap/scss/_transitions.scss
158
- - _sass/node_modules/bootstrap/scss/_type.scss
159
- - _sass/node_modules/bootstrap/scss/_utilities.scss
160
- - _sass/node_modules/bootstrap/scss/_variables.scss
161
- - _sass/node_modules/bootstrap/scss/bootstrap-grid.scss
162
- - _sass/node_modules/bootstrap/scss/bootstrap-reboot.scss
163
- - _sass/node_modules/bootstrap/scss/bootstrap.scss
164
- - _sass/node_modules/bootstrap/scss/mixins/_alert.scss
165
- - _sass/node_modules/bootstrap/scss/mixins/_background-variant.scss
166
- - _sass/node_modules/bootstrap/scss/mixins/_badge.scss
167
- - _sass/node_modules/bootstrap/scss/mixins/_border-radius.scss
168
- - _sass/node_modules/bootstrap/scss/mixins/_box-shadow.scss
169
- - _sass/node_modules/bootstrap/scss/mixins/_breakpoints.scss
170
- - _sass/node_modules/bootstrap/scss/mixins/_buttons.scss
171
- - _sass/node_modules/bootstrap/scss/mixins/_caret.scss
172
- - _sass/node_modules/bootstrap/scss/mixins/_clearfix.scss
173
- - _sass/node_modules/bootstrap/scss/mixins/_deprecate.scss
174
- - _sass/node_modules/bootstrap/scss/mixins/_float.scss
175
- - _sass/node_modules/bootstrap/scss/mixins/_forms.scss
176
- - _sass/node_modules/bootstrap/scss/mixins/_gradients.scss
177
- - _sass/node_modules/bootstrap/scss/mixins/_grid-framework.scss
178
- - _sass/node_modules/bootstrap/scss/mixins/_grid.scss
179
- - _sass/node_modules/bootstrap/scss/mixins/_hover.scss
180
- - _sass/node_modules/bootstrap/scss/mixins/_image.scss
181
- - _sass/node_modules/bootstrap/scss/mixins/_list-group.scss
182
- - _sass/node_modules/bootstrap/scss/mixins/_lists.scss
183
- - _sass/node_modules/bootstrap/scss/mixins/_nav-divider.scss
184
- - _sass/node_modules/bootstrap/scss/mixins/_pagination.scss
185
- - _sass/node_modules/bootstrap/scss/mixins/_reset-text.scss
186
- - _sass/node_modules/bootstrap/scss/mixins/_resize.scss
187
- - _sass/node_modules/bootstrap/scss/mixins/_screen-reader.scss
188
- - _sass/node_modules/bootstrap/scss/mixins/_size.scss
189
- - _sass/node_modules/bootstrap/scss/mixins/_table-row.scss
190
- - _sass/node_modules/bootstrap/scss/mixins/_text-emphasis.scss
191
- - _sass/node_modules/bootstrap/scss/mixins/_text-hide.scss
192
- - _sass/node_modules/bootstrap/scss/mixins/_text-truncate.scss
193
- - _sass/node_modules/bootstrap/scss/mixins/_transition.scss
194
- - _sass/node_modules/bootstrap/scss/mixins/_visibility.scss
195
- - _sass/node_modules/bootstrap/scss/utilities/_align.scss
196
- - _sass/node_modules/bootstrap/scss/utilities/_background.scss
197
- - _sass/node_modules/bootstrap/scss/utilities/_borders.scss
198
- - _sass/node_modules/bootstrap/scss/utilities/_clearfix.scss
199
- - _sass/node_modules/bootstrap/scss/utilities/_display.scss
200
- - _sass/node_modules/bootstrap/scss/utilities/_embed.scss
201
- - _sass/node_modules/bootstrap/scss/utilities/_flex.scss
202
- - _sass/node_modules/bootstrap/scss/utilities/_float.scss
203
- - _sass/node_modules/bootstrap/scss/utilities/_overflow.scss
204
- - _sass/node_modules/bootstrap/scss/utilities/_position.scss
205
- - _sass/node_modules/bootstrap/scss/utilities/_screenreaders.scss
206
- - _sass/node_modules/bootstrap/scss/utilities/_shadows.scss
207
- - _sass/node_modules/bootstrap/scss/utilities/_sizing.scss
208
- - _sass/node_modules/bootstrap/scss/utilities/_spacing.scss
209
- - _sass/node_modules/bootstrap/scss/utilities/_stretched-link.scss
210
- - _sass/node_modules/bootstrap/scss/utilities/_text.scss
211
- - _sass/node_modules/bootstrap/scss/utilities/_visibility.scss
212
- - _sass/node_modules/bootstrap/scss/vendor/_rfs.scss
213
- - _sass/node_modules/primer-markdown/build/build.scss
214
- - _sass/package.json
215
- - assets/css/style.scss
228
+ - _sass/primer-markdown/LICENSE
229
+ - _sass/primer-markdown/build/build.scss
230
+ - _sass/rouge.scss
231
+ - assets/@fortawesome/fontawesome-free/css/all.min.css
232
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot
233
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg
234
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf
235
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff
236
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2
237
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot
238
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg
239
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf
240
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff
241
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2
242
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot
243
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg
244
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf
245
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff
246
+ - assets/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2
247
+ - assets/bootstrap/LICENSE
248
+ - assets/bootstrap/dist/js/bootstrap.min.js
249
+ - assets/jekyll-theme-cs50.js
250
+ - assets/jquery/LICENSE.txt
251
+ - assets/jquery/dist/jquery.min.js
252
+ - assets/page.scss
253
+ - assets/popper.js/dist/popper.min.js
254
+ - assets/popper.js/dist/umd/popper.min.js
255
+ - lib/jekyll-theme-cs50.rb
256
+ - lib/jekyll-theme-cs50/constants.rb
216
257
  homepage: https://cs50.harvard.edu/
217
258
  licenses:
218
259
  - MIT