@@ -601,7 +601,6 @@ var _utils = require("./modules/utils");
601601var _multiTab = require ( "./modules/multiTab" ) ;
602602var _feedback = require ( "./modules/feedback" ) ;
603603const { mount } = redom ;
604-
605604document . querySelectorAll ( '.modal-button' ) . forEach ( function ( el ) {
606605 el . addEventListener ( 'click' , function ( ) {
607606 var target = document . querySelector ( el . getAttribute ( 'data-target' ) ) ;
@@ -628,6 +627,7 @@ document.addEventListener("DOMContentLoaded", function() {
628627 ( 0 , _utils . header ) . init ( ) ;
629628 hljs . highlightAll ( ) ;
630629 if ( navigator && navigator . clipboard ) ( 0 , _utils . addCopyButtons ) ( navigator . clipboard ) ;
630+ ( 0 , _utils . removeExpiredEvents ) ( ) ;
631631 ( 0 , _utils . addAnchorLinks ) ( ) ;
632632 ( 0 , _utils . scrollSideMenu ) ( ) ;
633633 // changelogFilter()
@@ -638,30 +638,30 @@ document.addEventListener("DOMContentLoaded", function() {
638638 } , 150 ) ;
639639 ( 0 , _utils . header ) . unpin ( ) ;
640640 }
641- // (async function() {
642- // try {
643- // await (0, _search.setupSearch)();
644- // mount(document.getElementById("search-button-container"), (0, _search.searchButton));
645- // mount(document.getElementById("search-modal-container"), (0, _search.searchModal));
646- // document.onkeydown = function(e) {
647- // if (e.key == "Escape") (0, _search.searchModal).close();
648- // if ((e.key == "k" || e.key == "K") && (e.metaKey || e.ctrlKey)) {
649- // e.preventDefault();
650- // e.stopPropagation();
651- // (0, _search.searchModal).open();
652- // }
653- // if (e.key == "s" || e.key == "S") {
654- // let searchBar = document.getElementById("hub-search-input");
655- // if (searchBar && document.activeElement != searchBar) {
656- // e.preventDefault();
657- // searchBar.focus();
658- // }
659- // }
660- // };
661- // } catch (err) {
662- // console.error("Could not setup search");
663- // }
664- // })();
641+ ( async function ( ) {
642+ try {
643+ await ( 0 , _search . setupSearch ) ( ) ;
644+ mount ( document . getElementById ( "search-button-container" ) , ( 0 , _search . searchButton ) ) ;
645+ mount ( document . getElementById ( "search-modal-container" ) , ( 0 , _search . searchModal ) ) ;
646+ document . onkeydown = function ( e ) {
647+ if ( e . key == "Escape" ) ( 0 , _search . searchModal ) . close ( ) ;
648+ if ( ( e . key == "k" || e . key == "K" ) && ( e . metaKey || e . ctrlKey ) ) {
649+ e . preventDefault ( ) ;
650+ e . stopPropagation ( ) ;
651+ ( 0 , _search . searchModal ) . open ( ) ;
652+ }
653+ if ( e . key == "s" || e . key == "S" ) {
654+ let searchBar = document . getElementById ( "hub-search-input" ) ;
655+ if ( searchBar && document . activeElement != searchBar ) {
656+ e . preventDefault ( ) ;
657+ searchBar . focus ( ) ;
658+ }
659+ }
660+ } ;
661+ } catch ( err ) {
662+ console . error ( "Could not setup search" ) ;
663+ }
664+ } ) ( ) ;
665665 // Init feedback on docs pages
666666 let feedback = document . getElementById ( "feedback-wrapper" ) ;
667667 if ( feedback ) ( 0 , _feedback . createFeedbackElement ) ( feedback ) ;
@@ -912,25 +912,25 @@ class ModalSuggest {
912912 project : "Spin" ,
913913 link1 : [
914914 "Install" ,
915- "/spin/ install"
915+ "/install"
916916 ] ,
917917 link2 : [
918918 "Quickstart" ,
919- "/spin/ quickstart/ "
919+ "/quickstart"
920920 ] ,
921921 link3 : [
922922 "Develop" ,
923- "/spin/developing "
923+ "/writing-apps "
924924 ] ,
925925 link4 : [
926926 "Deploy" ,
927- "/spin/ deploying-to-fermyon/ "
927+ "/deploying"
928928 ]
929929 }
930930 ] ;
931931 this . projectRecommendations = list ( "div.result-section" , ProjectRecommendations ) ;
932932 this . projectRecommendations . update ( this . projectData ) ;
933- this . el = el ( "div.result-section-container" , "Suggested Projects" , this . projectRecommendations ) ;
933+ this . el = el ( "div.result-section-container" , this . projectRecommendations ) ;
934934 }
935935}
936936class SearchModal {
@@ -939,7 +939,7 @@ class SearchModal {
939939 this . modalSearchBar = el ( "input.modal-search-bar" , {
940940 type : "text" ,
941941 spellcheck : false ,
942- placeholder : "Search Fermyon Developer Home " ,
942+ placeholder : "Search Spin Docs " ,
943943 oninput : ( function ( e ) {
944944 this . updateSearch ( ) ;
945945 } ) . bind ( this )
@@ -1069,15 +1069,18 @@ parcelHelpers.defineInteropFlag(exports);
10691069parcelHelpers . export ( exports , "scrollSideMenu" , ( ) => scrollSideMenu ) ;
10701070parcelHelpers . export ( exports , "addCopyButtons" , ( ) => addCopyButtons ) ;
10711071parcelHelpers . export ( exports , "addAnchorLinks" , ( ) => addAnchorLinks ) ;
1072+ parcelHelpers . export ( exports , "changelogFilter" , ( ) => changelogFilter ) ;
1073+ parcelHelpers . export ( exports , "removeExpiredEvents" , ( ) => removeExpiredEvents ) ;
10721074parcelHelpers . export ( exports , "header" , ( ) => header ) ;
1073-
1074- // init headroom for sticky menu on upscroll
1075+ parcelHelpers . export ( exports , "blogAd" , ( ) => blogAd ) ;
10751076var header = new Headroom ( document . querySelector ( "#topbar" ) , {
10761077 tolerance : 5 ,
10771078 offset : 80
10781079} ) ;
1079-
1080- // init side menu accordions
1080+ var blogAd = new Headroom ( document . querySelector ( "#blogSlogan" ) , {
1081+ tolerance : 5 ,
1082+ offset : 300
1083+ } ) ;
10811084function scrollSideMenu ( ) {
10821085 let sidemenu = document . querySelector ( "aside.menu" ) ;
10831086 if ( sidemenu ) {
@@ -1095,8 +1098,6 @@ function scrollSideMenu() {
10951098 }
10961099 }
10971100}
1098-
1099- // copy to clipboard
11001101const svgCopy = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"viewBox="0 0 448 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"/></svg>' ;
11011102const svgCheck = '<svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true"><path fill-rule="evenodd" fill="#18d1a5" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>' ;
11021103const addCopyButtons = ( clipboard ) => {
@@ -1139,8 +1140,6 @@ const addCopyButtons = (clipboard)=>{
11391140 pre . appendChild ( button ) ;
11401141 } ) ;
11411142} ;
1142-
1143- // add clickable #anchors to markdown titles
11441143const addAnchorLinks = ( ) => {
11451144 const elementsToProcess = document . querySelectorAll ( ".content h1, .content h2, .content h3, .content h4, .content tr" ) ;
11461145 elementsToProcess . forEach ( ( element ) => {
@@ -1173,9 +1172,77 @@ const addAnchorLinks = ()=>{
11731172 } ) ;
11741173 } ) ;
11751174} ;
1175+ function removeExpiredEvents ( ) {
1176+ let events = document . querySelectorAll ( ".community-highlight .carousel-cell" ) ;
1177+ let eventsNumber = events . length ;
1178+ if ( eventsNumber ) events . forEach ( ( k ) => {
1179+ if ( k . dataset . expirydate ) {
1180+ let eventExpiryDate = new Date ( k . dataset . expirydate ) ;
1181+ if ( eventExpiryDate < Date . now ( ) ) {
1182+ k . remove ( ) ;
1183+ eventsNumber -- ;
1184+ }
1185+ }
1186+ } ) ;
1187+ else return ;
1188+ if ( eventsNumber ) {
1189+ var elem = document . querySelector ( '.main-carousel' ) ;
1190+ var flkty = new Flickity ( elem , {
1191+ // options
1192+ cellAlign : 'left' ,
1193+ contain : true
1194+ } ) ;
1195+ // element argument can be a selector string
1196+ // for an individual element
1197+ var flkty = new Flickity ( '.main-carousel' , {
1198+ } ) ;
1199+ } else {
1200+ let eventsCarousel = document . querySelector ( ".community-highlight" ) ;
1201+ eventsCarousel . innerHTML = `
1202+ <article class="community-highlight carousel-cell">
1203+ <a href="#">
1204+ <event>
1205+ <date>
1206+ </date>
1207+ <eventtitle>No upcoming Events
1208+ </eventtitle>
1209+ <p></p>
1210+ <img class="event-logo" />
1211+ </event>
1212+ </a>
1213+ </article>
1214+ ` ;
1215+ }
1216+ }
1217+ function changelogFilter ( ) {
1218+ let changelogItems = Array . from ( document . querySelectorAll ( ".changelog-item-title" ) ) ;
1219+ if ( changelogItems . length ) {
1220+ let changelogTags = new Set ( [
1221+ "all_features"
1222+ ] ) ;
1223+ changelogItems . map ( ( k ) => {
1224+ JSON . parse ( k . dataset . tags ) . forEach ( ( item ) => changelogTags . add ( item ) ) ;
1225+ } ) ;
1226+ changelogTags = Array . from ( changelogTags ) ;
1227+ let changelogSelect = document . getElementById ( "changelog-select" ) ;
1228+ changelogTags . map ( ( k ) => {
1229+ let opt = document . createElement ( 'option' ) ;
1230+ opt . value = k ;
1231+ opt . innerHTML = k ;
1232+ changelogSelect . appendChild ( opt ) ;
1233+ } ) ;
1234+ changelogSelect . addEventListener ( "change" , ( ) => {
1235+ let selected = changelogSelect . value ;
1236+ changelogItems . map ( ( k ) => {
1237+ if ( selected != "all_features" && ! k . dataset . tags . includes ( selected ) ) {
1238+ console . log ( k . parentElement ) ;
1239+ k . parentElement . style . display = "none" ;
1240+ } else k . parentElement . style . display = "flex" ;
1241+ } ) ;
1242+ } ) ;
1243+ }
1244+ }
11761245
1177-
1178- // tabs for multiple languages
11791246} , { "@parcel/transformer-js/src/esmodule-helpers.js" :"j7FRh" } ] , "1bdXi" :[ function ( require , module , exports , __globalThis ) {
11801247var parcelHelpers = require ( "@parcel/transformer-js/src/esmodule-helpers.js" ) ;
11811248parcelHelpers . defineInteropFlag ( exports ) ;
@@ -1318,8 +1385,6 @@ function filterMultitabQuery() {
13181385 return multitabQuery ;
13191386}
13201387
1321-
1322- // user feedback thumbsup/down vote
13231388} , { "@parcel/transformer-js/src/esmodule-helpers.js" :"j7FRh" } ] , "c5ZDr" :[ function ( require , module , exports , __globalThis ) {
13241389var parcelHelpers = require ( "@parcel/transformer-js/src/esmodule-helpers.js" ) ;
13251390parcelHelpers . defineInteropFlag ( exports ) ;
0 commit comments