This commit is contained in:
kevinzjpeng
2025-04-19 23:13:45 +00:00
parent abc294be03
commit fae69d9b5e
11 changed files with 5 additions and 1375 deletions

File diff suppressed because it is too large Load Diff

1
css/custom.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,63 +0,0 @@
:root {
--admonition-border-color: #FF8D1A;
--admonition-bg-color-base: rgba(155, 120, 43, 0.1);
--icon-frequent-question: url(/assets/frequent-question.svg);
--icon-faq: url(/assets/faq.svg);
}
.md-typeset {
.admonition.frequent-question,
details.frequent-question,
.admonition.faq,
details.faq {
border-color: var(--admonition-border-color);
}
.frequent-question, .faq {
& > .admonition-title, & > summary {
background-color: var(--admonition-bg-color-base);
}
& > .admonition-title::before, & > summary::before {
background-color: var(--admonition-border-color);
}
}
.frequent-question {
& > .admonition-title::before, & > summary::before {
-webkit-mask-image: var(--icon-frequent-question);
mask-image: var(--icon-frequent-question);
}
}
.faq {
& > .admonition-title::before, & > summary::before {
-webkit-mask-image: var(--icon-faq);
mask-image: var(--icon-faq);
}
}
}
mark.state1 {
background-color: #ffd699; /* A somewhat orange color */
}
mark.state2 {
background-color: #ffcccc;
}
mark.state3 {
background-color: #ccccff;
}
mark.state4 {
background-color: #ccffcc;
}
.youtube {
color: #EE0F0F;
}
.faq {
color: #FF8D1A
}

1
css/extra.min.css vendored Normal file
View File

@@ -0,0 +1 @@
:root{--admonition-border-color:#FF8D1A;--admonition-bg-color-base:rgba(155, 120, 43, 0.1);--icon-frequent-question:url(/assets/frequent-question.svg);--icon-faq:url(/assets/faq.svg)}mark.state1{background-color:#ffd699}mark.state2{background-color:#fcc}mark.state3{background-color:#ccf}mark.state4{background-color:#cfc}.youtube{color:#ee0f0f}.faq{color:#ff8d1a}

View File

@@ -1,158 +0,0 @@
/* Signup Form Styles */
.signup-form-container {
width: 100%;
max-width: 400px;
margin: 1rem auto;
}
#form_signup {
background: transparent;
border-radius: 4px;
padding: 1rem;
width: 100%;
box-sizing: border-box;
}
#form_signup h2 {
color: var(--md-footer-fg-color);
font-size: 1.2rem;
margin-top: 0;
margin-bottom: 0.5rem;
}
#form_signup .gf-field-group {
margin-bottom: 0.5rem;
}
#form_signup input[type="text"],
#form_signup input[type="email"] {
width: 100%;
padding: 0.5rem;
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 4px;
background-color: rgba(255, 255, 255, 0.1);
color: var(--md-footer-fg-color);
}
#form_signup input[type="text"]::placeholder,
#form_signup input[type="email"]::placeholder {
color: rgba(255, 255, 255, 0.6);
}
#form_signup .button {
background-color: var(--md-accent-fg-color);
color: var(--md-accent-bg-color);
border: none;
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
font-weight: bold;
transition: background-color 0.3s ease, color 0.3s ease;
width: 100%;
}
#form_signup .button:hover {
background-color: #FAA22B;
color: var(--md-accent-bg-color);
}
#form_signup .footnote {
text-align: center;
font-size: 0.6rem;
color: rgba(255, 255, 255, 0.6);
}
/* Media Queries for Responsive Design */
@media screen and (max-width: 76.1875em) {
.signup-form-container {
max-width: 100%;
}
}
@media screen and (max-width: 60em) {
#form_signup h2 {
font-size: 1rem;
}
}
/* Footer flex container */
.footer-flex-container {
display: flex;
flex-wrap: wrap;
align-items: center;
}
.footer-flex-item {
flex: 1 1 auto;
}
/* Default order for larger screens */
.signup-form-container {
order: 2;
max-width: 400px;
}
.footer-copyright {
order: 1;
}
.footer-social {
order: 3;
}
/* Media query for larger screens */
@media screen and (min-width: 76.25em) {
.footer-flex-container {
flex-wrap: nowrap;
}
.signup-form-container {
flex: 0 1 auto;
margin: 0 1rem;
}
.footer-copyright {
text-align: left;
}
.footer-social {
text-align: right;
}
}
/* Media query for smaller screens */
@media screen and (max-width: 76.1875em) {
.footer-flex-container {
flex-direction: column;
}
.signup-form-container {
order: 1;
max-width: 100%;
}
.footer-copyright {
order: 2;
text-align: center;
}
.footer-social {
order: 3;
}
/* Center align the content inside the copyright container */
.footer-copyright .md-copyright {
text-align: center;
}
.footer-copyright .md-copyright__highlight {
display: block;
margin-bottom: 0.5rem;
}
}
#form-message {
font-size: 0.8rem;
margin-top: 0.5rem;
}

1
css/signup_form.min.css vendored Normal file
View File

@@ -0,0 +1 @@
.signup-form-container{width:100%;margin:1rem auto}#form_signup{background:0 0;border-radius:4px;padding:1rem;width:100%;box-sizing:border-box}#form_signup h2{color:var(--md-footer-fg-color);font-size:1.2rem;margin-top:0}#form_signup .gf-field-group,#form_signup h2{margin-bottom:.5rem}#form_signup input[type=email],#form_signup input[type=text]{width:100%;padding:.5rem;border:1px solid rgba(255,255,255,.3);border-radius:4px;background-color:rgba(255,255,255,.1);color:var(--md-footer-fg-color)}#form_signup input[type=email]::placeholder,#form_signup input[type=text]::placeholder{color:rgba(255,255,255,.6)}#form_signup .button{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color);border:0;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .3s ease,color .3s ease;width:100%}#form_signup .button:hover{background-color:#faa22b;color:var(--md-accent-bg-color)}#form_signup .footnote{text-align:center;font-size:.6rem;color:rgba(255,255,255,.6)}@media screen and (max-width:76.1875em){.signup-form-container{max-width:100%}}@media screen and (max-width:60em){#form_signup h2{font-size:1rem}}.footer-flex-container{display:flex;flex-wrap:wrap;align-items:center}.footer-flex-item{flex:1 1 auto}.signup-form-container{order:2;max-width:400px}.footer-copyright{order:1}.footer-social{order:3}@media screen and (min-width:76.25em){.footer-flex-container{flex-wrap:nowrap}.signup-form-container{flex:0 1 auto;margin:0 1rem}.footer-copyright{text-align:left}.footer-social{text-align:right}}@media screen and (max-width:76.1875em){.footer-flex-container{flex-direction:column}.signup-form-container{order:1;max-width:100%}.footer-copyright{order:2;text-align:center}.footer-social{order:3}.footer-copyright .md-copyright{text-align:center}.footer-copyright .md-copyright__highlight{display:block;margin-bottom:.5rem}}#form-message{font-size:.8rem;margin-top:.5rem}

View File

@@ -1,81 +0,0 @@
window.onload = function() {
// Hide the loading message when tweets are loaded
var hideLoadingMessage = function() {
var loadingMessage = document.getElementById('loadingMessage');
if (loadingMessage) {
loadingMessage.style.display = 'none';
}
};
// Check if the Twitter widgets script is loaded
if (typeof twttr !== 'undefined') {
twttr.widgets.load(
document.getElementById("twitter-feed")
);
twttr.events.bind('loaded', function (event) {
// Hide loading message
hideLoadingMessage();
// Find all twitter tweets and show them
var tweets = document.querySelectorAll('.twitter-tweet');
tweets.forEach(function(tweet) {
tweet.classList.add('twitter-tweet-loaded');
});
// Unhide the twitter feed
var loadingMessage = document.getElementById('twitter-feed');
if (loadingMessage) {
loadingMessage.style.display = 'block';
}
});
} else {
var loadingMessage = document.getElementById('twitter-feed');
if (loadingMessage) {
loadingMessage.style.display = 'none';
}
}
// New Twitter navigation code
const initTwitterNavigation = () => {
const twitterPosts = document.querySelector('.twitter-posts');
const prevButton = document.querySelector('.twitter-nav-prev');
const nextButton = document.querySelector('.twitter-nav-next');
if (twitterPosts && prevButton && nextButton) {
const tweetWidth = 300; // Width of each tweet
const scrollAmount = tweetWidth + 16; // Width + gap
prevButton.addEventListener('click', () => {
twitterPosts.scrollBy({
left: -scrollAmount,
behavior: 'smooth'
});
});
nextButton.addEventListener('click', () => {
twitterPosts.scrollBy({
left: scrollAmount,
behavior: 'smooth'
});
});
}
};
// Initialize after a short delay to ensure tweets are loaded
setTimeout(initTwitterNavigation, 200);
};
document.addEventListener('DOMContentLoaded', function() {
const dialogue = document.querySelector('.gibby-dialogue');
function toggleDialogue() {
dialogue.style.display = 'block';
setTimeout(() => {
dialogue.style.display = 'none';
setTimeout(toggleDialogue, 2000); // Wait 2 seconds before showing again
}, 20000); // Show for 20 seconds
}
// Start the cycle after 1 second
setTimeout(toggleDialogue, 1000);
});

1
js/custom.min.js vendored Normal file
View File

@@ -0,0 +1 @@
window.onload=function(){var hideLoadingMessage=function(){var loadingMessage=document.getElementById("loadingMessage");if(loadingMessage){loadingMessage.style.display="none"}};if(typeof twttr!=="undefined"){twttr.widgets.load(document.getElementById("twitter-feed"));twttr.events.bind("loaded",function(event){hideLoadingMessage();var tweets=document.querySelectorAll(".twitter-tweet");tweets.forEach(function(tweet){tweet.classList.add("twitter-tweet-loaded")});var loadingMessage=document.getElementById("twitter-feed");if(loadingMessage){loadingMessage.style.display="block"}})}else{var loadingMessage=document.getElementById("twitter-feed");if(loadingMessage){loadingMessage.style.display="none"}}const initTwitterNavigation=()=>{const twitterPosts=document.querySelector(".twitter-posts");const prevButton=document.querySelector(".twitter-nav-prev");const nextButton=document.querySelector(".twitter-nav-next");if(twitterPosts&&prevButton&&nextButton){const tweetWidth=300;const scrollAmount=tweetWidth+16;prevButton.addEventListener("click",()=>{twitterPosts.scrollBy({left:-scrollAmount,behavior:"smooth"})});nextButton.addEventListener("click",()=>{twitterPosts.scrollBy({left:scrollAmount,behavior:"smooth"})})}};setTimeout(initTwitterNavigation,200)};document.addEventListener("DOMContentLoaded",function(){const dialogue=document.querySelector(".gibby-dialogue");function toggleDialogue(){dialogue.style.display="block";setTimeout(()=>{dialogue.style.display="none";setTimeout(toggleDialogue,2e3)},2e4)}setTimeout(toggleDialogue,1e3)});

View File

View File

@@ -1,38 +0,0 @@
document.addEventListener('DOMContentLoaded', function() {
const form = document.getElementById('subscribe-form');
const message = document.getElementById('form-message');
form.addEventListener('submit', function(event) {
event.preventDefault();
// Set the source input to the current page's domain (protocol + domain + port)
const sourceInput = form.querySelector('input[name="source"]');
sourceInput.value = window.location.origin;
const formData = new FormData(form);
const data = {};
formData.forEach((value, key) => { data[key] = value; });
fetch('https://script.google.com/macros/s/AKfycbwBqXSVZWT5GBsq5bPyz6xqF_RR7JZhK9PyszpvcztgZf3HbXhB4bUFALgkNq-DBpp2/exec', {
method: 'POST',
mode: 'no-cors',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams(data).toString(),
})
.then(response => {
message.style.display = 'block';
message.style.color = '#df4d3f';
message.textContent = 'Thank you for subscribing!';
form.reset();
setTimeout(() => { message.style.display = 'none'; }, 5000);
})
.catch(error => {
message.style.display = 'block';
message.style.color = 'red';
message.textContent = 'Error subscribing. Please try again.';
console.error('Error:', error);
});
});
});

1
js/subscribe.min.js vendored Normal file
View File

@@ -0,0 +1 @@
document.addEventListener("DOMContentLoaded",function(){const form=document.getElementById("subscribe-form");const message=document.getElementById("form-message");form.addEventListener("submit",function(event){event.preventDefault();const sourceInput=form.querySelector('input[name="source"]');sourceInput.value=window.location.origin;const formData=new FormData(form);const data={};formData.forEach((value,key)=>{data[key]=value});fetch("https://script.google.com/macros/s/AKfycbwBqXSVZWT5GBsq5bPyz6xqF_RR7JZhK9PyszpvcztgZf3HbXhB4bUFALgkNq-DBpp2/exec",{method:"POST",mode:"no-cors",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(data).toString()}).then(response=>{message.style.display="block";message.style.color="#df4d3f";message.textContent="Thank you for subscribing!";form.reset();setTimeout(()=>{message.style.display="none"},5e3)}).catch(error=>{message.style.display="block";message.style.color="red";message.textContent="Error subscribing. Please try again.";console.error("Error:",error)})})});