Commit e27dc38

HPCesia <me@hpcesia.com>
2025-02-02 15:11:43
fix: swup bug
1 parent c03f8c8
src/components/comment/Twikoo.astro
@@ -6,7 +6,8 @@ import '@/styles/twikoo.scss';
 <script
   src="https://cdn.jsdelivr.net/npm/twikoo@1.6.41/dist/twikoo.nocss.js"
   crossorigin="anonymous"
-  is:inline></script>
+  is:inline
+  data-astro-rerun></script>
 <script>
   import { commentConfig } from '@/config';
   const twikooConfig = commentConfig.twikoo;
@@ -23,10 +24,6 @@ import '@/styles/twikoo.scss';
       });
     }
   }
+
   document.addEventListener('astro:page-load', initTwikoo);
-  if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', initTwikoo);
-  } else {
-    initTwikoo();
-  }
 </script>
src/components/search/Pagefind.astro
@@ -76,11 +76,6 @@ const bundlePath = `${import.meta.env.BASE_URL}pagefind/`;
   }
 
   document.addEventListener('astro:page-load', initPageFind);
-  if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', initPageFind);
-  } else {
-    initPageFind();
-  }
 </script>
 
 <style is:global>
src/components/utils/Markdown.astro
@@ -21,7 +21,10 @@ const firstHasPre = hasPre && (isFirstInstance('md-has-pre', Astro.url) || impor
 
 {
   firstHasPre && (
-    <template id="code-toolbar-template" class="relative my-4 overflow-hidden rounded-lg">
+    <template
+      id="code-toolbar-template"
+      class="code-block-wrapper relative my-4 overflow-hidden rounded-lg"
+    >
       <div class="theme-border theme-card-bg-hl-trans z-10 flex items-center justify-between">
         <Button class="toggle-btn !bg-transparent">
           <Icon
@@ -87,15 +90,14 @@ const firstHasPre = hasPre && (isFirstInstance('md-has-pre', Astro.url) || impor
       });
     };
 
+    const isWrapped = (pre: HTMLPreElement) => {
+      return pre.parentElement?.classList.contains('code-block-wrapper');
+    };
+
     codeBlocks.forEach((pre) => {
-      wrapPre(pre as HTMLPreElement);
+      if (!isWrapped(pre as HTMLPreElement)) wrapPre(pre as HTMLPreElement);
     });
   }
 
   document.addEventListener('astro:page-load', prettierPreCode);
-  if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', prettierPreCode);
-  } else {
-    prettierPreCode();
-  }
 </script>
src/components/widgets/Pagination.astro
@@ -179,9 +179,4 @@ else {
     pageJumperButton?.addEventListener('click', pageJumperExecHandler);
   }
   document.addEventListener('astro:page-load', initPagination);
-  if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', initPagination);
-  } else {
-    initPagination();
-  }
 </script>
src/components/Navbar.astro
@@ -14,7 +14,6 @@ if (!title) title = 'Astral Halo';
 
 <div
   id="navbar"
-  transition:persist
   class="theme-border theme-card-bg fixed z-30 flex h-16 w-full items-center border-b-2"
 >
   <div id="nav-left" class="mr-auto flex w-fit">
src/components/Search.astro
@@ -52,9 +52,4 @@ import Pagefind from './search/Pagefind.astro';
   }
 
   document.addEventListener('astro:page-load', initSearchContainer);
-  if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', initSearchContainer);
-  } else {
-    initSearchContainer();
-  }
 </script>
src/components/Sidebar.astro
@@ -6,7 +6,7 @@ import Button from './widgets/Button.astro';
 import DarkModeButton from './widgets/DarkModeButton.astro';
 ---
 
-<div id="sidebar" transition:persist>
+<div id="sidebar">
   <div
     id="sidebar-mask"
     class="pointer-events-none fixed z-40 h-full w-full bg-black/10 opacity-0 backdrop-blur-md backdrop-saturate-100 duration-500 ease-in-out"
@@ -97,9 +97,4 @@ import DarkModeButton from './widgets/DarkModeButton.astro';
   }
 
   document.addEventListener('astro:page-load', initSidebar);
-  if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', initSidebar);
-  } else {
-    initSidebar();
-  }
 </script>
src/components/SideToolBar.astro
@@ -4,7 +4,7 @@ import Button from './widgets/Button.astro';
 import DarkModeButton from './widgets/DarkModeButton.astro';
 ---
 
-<div id="side-toolbar" class="fixed bottom-10 right-0 z-30" transition:persist>
+<div id="side-toolbar" class="fixed bottom-10 right-0 z-30">
   <div id="stb-hide" class="translate-x-full duration-500 ease-in-out" inert>
     <DarkModeButton id="stb-dark-mode" class="" />
   </div>
@@ -77,11 +77,6 @@ import DarkModeButton from './widgets/DarkModeButton.astro';
   }
 
   document.addEventListener('astro:page-load', initSideToolBar);
-  if (document.readyState === 'loading') {
-    document.addEventListener('DOMContentLoaded', initSideToolBar);
-  } else {
-    initSideToolBar();
-  }
 </script>
 
 <style lang="scss">