<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>琴音的博客</title>
    <link>https://ab10303.github.io/algolia.json</link>
    <description>Recent content from 琴音的博客</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    
    <managingEditor>my@email.ab10303.dpdns.org (琴音)</managingEditor>
    <webMaster>my@email.ab10303.dpdns.org (琴音)</webMaster>
    
    <copyright>本博客所有文章除特别声明外，均采用 BY-NC-SA 许可协议。转载请注明出处！</copyright>
    
    <lastBuildDate>Fri, 10 Apr 2026 17:45:10 +0800</lastBuildDate>
    
    
    <atom:link href="https://ab10303.github.io/index.xml" rel="self" type="application/rss&#43;xml" />
    

    
    

    <item>
      <title>猪猪看过来</title>
      <link>https://ab10303.github.io/post/pig/</link>
      <pubDate>Fri, 10 Apr 2026 17:01:00 &#43;0800</pubDate>
      <author>my@email.ab10303.dpdns.org (琴音)</author>
      <guid>https://ab10303.github.io/post/pig/</guid>
      <description>
        <![CDATA[<h1>猪猪看过来</h1><p>作者：琴音（my@email.ab10303.dpdns.org）</p>
        
          <h2 id="来啦">
<a class="header-anchor" href="#%e6%9d%a5%e5%95%a6"></a>
来啦
</h2><p><img src="https://ab10303.github.io/images/gif/4.jpg" alt="image"></p>
<h3 id="">
<a class="header-anchor" href="#"></a>

</h3><h1 id="再拉下面点">
<a class="header-anchor" href="#%e5%86%8d%e6%8b%89%e4%b8%8b%e9%9d%a2%e7%82%b9"></a>
再拉下面点
</h1><h2 id="">
<a class="header-anchor" href="#"></a>

</h2><h3 id="">
<a class="header-anchor" href="#"></a>

</h3><h4 id="">
<a class="header-anchor" href="#"></a>

</h4><h2 id="摸摸摸摸摸摸">
<a class="header-anchor" href="#%e6%91%b8%e6%91%b8%e6%91%b8%e6%91%b8%e6%91%b8%e6%91%b8"></a>
摸摸摸摸摸摸
</h2><p><img src="https://ab10303.github.io/images/gif/1.gif" alt="image"></p>
        
        <hr><p>本文2026-04-10首发于<a href='https://ab10303.github.io/'>琴音的博客</a>，最后修改于2026-04-10</p>]]>
      </description>
      
    </item>
    
    

    <item>
      <title>图库</title>
      <link>https://ab10303.github.io/post/test/</link>
      <pubDate>Tue, 07 Apr 2026 20:12:52 &#43;0800</pubDate>
      <author>my@email.ab10303.dpdns.org (琴音)</author>
      <guid>https://ab10303.github.io/post/test/</guid>
      <description>
        <![CDATA[<h1>图库</h1><p>作者：琴音（my@email.ab10303.dpdns.org）</p>
        
          <div class="gallery-wall" id="photoWall-91ba0307e"></div>
<script>
  (function() {
    const imageUrls = JSON.parse("[\"https://ab10303.github.io/images/kaguya/1.png\",\"https://ab10303.github.io/images/kaguya/2.jpg\",\"https://ab10303.github.io/images/kaguya/3.png\",\"https://ab10303.github.io/images/kaguya/4.png\",\"https://ab10303.github.io/images/kaguya/26.jpeg\",\"https://ab10303.github.io/images/kaguya/5.gif\",\"https://ab10303.github.io/images/kaguya/6.gif\",\"https://ab10303.github.io/images/kaguya/7.gif\",\"https://ab10303.github.io/images/kaguya/8.gif\",\"https://ab10303.github.io/images/kaguya/9.gif\",\"https://ab10303.github.io/images/kaguya/10.gif\",\"https://ab10303.github.io/images/kaguya/11.gif\",\"https://ab10303.github.io/images/kaguya/12.gif\",\"https://ab10303.github.io/images/kaguya/13.gif\",\"https://ab10303.github.io/images/kaguya/14.gif\",\"https://ab10303.github.io/images/kaguya/15.gif\",\"https://ab10303.github.io/images/kaguya/16.gif\",\"https://ab10303.github.io/images/kaguya/17.gif\",\"https://ab10303.github.io/images/kaguya/18.gif\",\"https://ab10303.github.io/images/kaguya/19.gif\",\"https://ab10303.github.io/images/kaguya/20.gif\",\"https://ab10303.github.io/images/kaguya/21.gif\",\"https://ab10303.github.io/images/kaguya/22.gif\",\"https://ab10303.github.io/images/kaguya/23.gif\",\"https://ab10303.github.io/images/kaguya/24.gif\",\"https://ab10303.github.io/images/kaguya/25.gif\",\"https://ab10303.github.io/images/kaguya/28.gif\",\"https://ab10303.github.io/images/kaguya/29.gif\",\"https://ab10303.github.io/images/kaguya/27.gif\"]");
    let images = [];
    const wallId = '#photoWall-91ba0307e';
    let resizeTimer;
    let lastWidth = 0;
    
    function init() {
      createInitialDOM();
      loadImages();
      const wall = _$(wallId);
      if (wall && window.ResizeObserver) {
        const observer = new ResizeObserver((entries) => {
          const newWidth = entries[0].contentRect.width;
          if (Math.abs(newWidth - lastWidth) > 1) {
            clearTimeout(resizeTimer);
            resizeTimer = setTimeout(renderPhotoWall, 250);
          }
        });
        observer.observe(wall);
      } else {
        window.addEventListener('resize', handleResize);
      }
    }
    
    function createInitialDOM() {
      const wall = _$(wallId);
      if (!wall || !imageUrls.length) return;
      
      wall.style.opacity = '0';
      wall.style.pointerEvents = 'none';
      
      imageUrls.forEach((url) => {
        images.push({
          width: 800,
          height: 600,
          aspectRatio: 4/3,
          url: url,
          loaded: false
        });
      });
      
      renderPhotoWall();
    }
    
    function loadImages() {
      const loadPromises = imageUrls.map((url, index) => {
        return new Promise((resolve, reject) => {
          const img = new Image();
          img.onload = () => {
            if (images[index]) {
              images[index].width = img.naturalWidth;
              images[index].height = img.naturalHeight;
              images[index].aspectRatio = img.naturalWidth / img.naturalHeight;
              images[index].loaded = true;
            }
            resolve();
          };
          img.onerror = () => {
            if (images[index]) {
              images[index].loaded = true;
            }
            resolve();
          };
          img.src = url;
        });
      });
      
      Promise.all(loadPromises)
        .then(() => {
          const wall = _$(wallId);
          if (wall) {
            wall.style.opacity = '1';
            wall.style.pointerEvents = 'auto';
            wall.style.transition = 'opacity 0.3s ease';
          }
          renderPhotoWall();
        })
        .catch((error) => console.error("图片加载失败:", error));
    }
    
    function renderPhotoWall() {
      const wall = _$(wallId);
      
      if (!images.length || !wall) return;
      
      const screenWidth = wall.offsetWidth || window.innerWidth - 40;
      lastWidth = screenWidth;
      
      wall.innerHTML = "";
      const rowHeight = 200;
      const gap = 10;
      const maxPerRow = 4;
      
      let row = [];
      let rowWidth = 0;
      const rows = [];
      
      images.forEach((img) => {
        const scaledWidth = rowHeight * img.aspectRatio;
        
        if (rowWidth + scaledWidth <= screenWidth && row.length < maxPerRow) {
          row.push(img);
          rowWidth += scaledWidth + gap;
        } else {
          if (row.length) rows.push(row);
          row = [img];
          rowWidth = scaledWidth + gap;
        }
      });
      
      if (row.length) rows.push(row);
      
      rows.forEach((row) => {
        const rowDiv = document.createElement("div");
        rowDiv.style.cssText = `display: flex; gap: ${gap}px; width: 100%`;
        
        row.forEach((img) => {
          const item = document.createElement("div");
          item.className = "photo-item";
          const flex = row.length === 1 ? '1' : img.aspectRatio;
          item.style.cssText = `flex: ${flex}; height: ${rowHeight}px`;
          
          const imgEl = document.createElement("img");
          imgEl.alt = "Gallery Image";
          imgEl.style.cssText = "width: 100%; height: 100%; object-fit: cover";
          imgEl.className = "lazyload";
          imgEl.dataset.src = img.url;
          imgEl.dataset.sizes = "auto";

          const link = document.createElement("a");
          link.href = img.url;
          link.dataset.pswpWidth = img.width;
          link.dataset.pswpHeight = img.height;
          link.target = "_blank";
          link.className = "article-gallery-item";
          link.style.cssText = "width: 100%; height: 100%";
          link.appendChild(imgEl);
          
          item.appendChild(link);
          rowDiv.appendChild(item);
        });
        
        wall.appendChild(rowDiv);
      });
    }
    
    function handleResize() {
      clearTimeout(resizeTimer);
      resizeTimer = setTimeout(renderPhotoWall, 250);
    }
    
    if (document.readyState === 'loading') {
      document.addEventListener('DOMContentLoaded', init);
    } else {
      init();
    }
  })();
</script><link rel="preload" as="style" href="/css/gallery.min.94cd3998ffbf0abe50a0f8a9251c39f9df60899a02db59add20026d894f2d44f.css" onload="this.onload=null;this.rel='stylesheet'" />
        
        <hr><p>本文2026-04-07首发于<a href='https://ab10303.github.io/'>琴音的博客</a>，最后修改于2026-04-08</p>]]>
      </description>
      
    </item>
    
    

    <item>
      <title>Hello World</title>
      <link>https://ab10303.github.io/post/hello/</link>
      <pubDate>Tue, 07 Apr 2026 01:01:00 &#43;0800</pubDate>
      <author>my@email.ab10303.dpdns.org (琴音)</author>
      <guid>https://ab10303.github.io/post/hello/</guid>
      <description>
        <![CDATA[<h1>Hello World</h1><p>作者：琴音（my@email.ab10303.dpdns.org）</p>
        
          <p>&hellip;测试封面</p>
        
        <hr><p>本文2026-04-07首发于<a href='https://ab10303.github.io/'>琴音的博客</a>，最后修改于2026-04-07</p>]]>
      </description>
      
    </item>
    
    

    <item>
      <title>中文測試</title>
      <link>https://ab10303.github.io/post/chinese/</link>
      <pubDate>Tue, 07 Apr 2026 00:12:52 &#43;0800</pubDate>
      <author>my@email.ab10303.dpdns.org (琴音)</author>
      <guid>https://ab10303.github.io/post/chinese/</guid>
      <description>
        <![CDATA[<h1>中文測試</h1><p>作者：琴音（my@email.ab10303.dpdns.org）</p>
        
          <p>This is a Chinese test post.</p>
<p>善我王上魚、產生資西員合兒臉趣論。畫衣生這著爸毛親可時，安程幾？合學作。觀經而作建。都非子作這！法如言子你關！手師也。</p>
<p>以也座論頭室業放。要車時地變此親不老高小是統習直麼調未，行年香一？</p>
        
        <hr><p>本文2026-04-07首发于<a href='https://ab10303.github.io/'>琴音的博客</a>，最后修改于2026-04-07</p>]]>
      </description>
      
    </item>
    
    

    <item>
      <title>自动部署测试</title>
      <link>https://ab10303.github.io/post/test2/</link>
      <pubDate>Mon, 06 Apr 2026 20:12:52 &#43;0800</pubDate>
      <author>my@email.ab10303.dpdns.org (琴音)</author>
      <guid>https://ab10303.github.io/post/test2/</guid>
      <description>
        <![CDATA[<h1>自动部署测试</h1><p>作者：琴音（my@email.ab10303.dpdns.org）</p>
        
          <p>测试</p>
        
        <hr><p>本文2026-04-06首发于<a href='https://ab10303.github.io/'>琴音的博客</a>，最后修改于2026-04-06</p>]]>
      </description>
      
    </item>
    
    

    <item>
      <title>Markdown Basic Elements</title>
      <link>https://ab10303.github.io/post/main/</link>
      <pubDate>Thu, 09 Jun 2022 20:12:52 &#43;0800</pubDate>
      <author>my@email.ab10303.dpdns.org (琴音)</author>
      <guid>https://ab10303.github.io/post/main/</guid>
      <description>
        <![CDATA[<h1>Markdown Basic Elements</h1><p>作者：琴音（my@email.ab10303.dpdns.org）</p>
        
          <h2 id="markdown-基本元素">
<a class="header-anchor" href="#markdown-%e5%9f%ba%e6%9c%ac%e5%85%83%e7%b4%a0"></a>
Markdown 基本元素
</h2><h3 id="标题">
<a class="header-anchor" href="#%e6%a0%87%e9%a2%98"></a>
标题
</h3><h1 id="h1">
<a class="header-anchor" href="#h1"></a>
H1
</h1><h2 id="h2">
<a class="header-anchor" href="#h2"></a>
H2
</h2><h3 id="h3">
<a class="header-anchor" href="#h3"></a>
H3
</h3><h4 id="h4">
<a class="header-anchor" href="#h4"></a>
H4
</h4><h5 id="h5">
<a class="header-anchor" href="#h5"></a>
H5
</h5><h6 id="h6">
<a class="header-anchor" href="#h6"></a>
H6
</h6><h3 id="强调">
<a class="header-anchor" href="#%e5%bc%ba%e8%b0%83"></a>
强调
</h3><p>Emphasis, aka italics, with <em>asterisks</em> or <em>underscores</em>.</p>
<p>Strong emphasis, aka bold, with <strong>asterisks</strong> or <strong>underscores</strong>.</p>
<p>Combined emphasis with <strong>asterisks and <em>underscores</em></strong>.</p>
<p>Strikethrough uses two tildes. <del>Scratch this.</del></p>
<h3 id="列表">
<a class="header-anchor" href="#%e5%88%97%e8%a1%a8"></a>
列表
</h3><h4 id="definition-list-dl">
<a class="header-anchor" href="#definition-list-dl"></a>
Definition List (dl)
</h4><!-- raw HTML omitted -->
<h4 id="ordered-list-ol">
<a class="header-anchor" href="#ordered-list-ol"></a>
Ordered List (ol)
</h4><ol>
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>
</ol>
<h4 id="unordered-list-ul">
<a class="header-anchor" href="#unordered-list-ul"></a>
Unordered List (ul)
</h4><ul>
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>
</ul>
<h3 id="段落">
<a class="header-anchor" href="#%e6%ae%b5%e8%90%bd"></a>
段落
</h3><p>Lorem ipsum dolor sit amet, <a href="">test link</a> consectetur adipiscing elit. <strong>Strong text</strong> pellentesque ligula commodo viverra vehicula. <em>Italic text</em> at ullamcorper enim. Morbi a euismod nibh. <!-- raw HTML omitted -->Underline text<!-- raw HTML omitted --> non elit nisl. <del>Deleted text</del> tristique, sem id condimentum tempus, metus lectus venenatis mauris, sit amet semper lorem felis a eros. Fusce egestas nibh at sagittis auctor. Sed ultricies ac arcu quis molestie. Donec dapibus nunc in nibh egestas, vitae volutpat sem iaculis. Curabitur sem tellus, elementum nec quam id, fermentum laoreet mi. Ut mollis ullamcorper turpis, vitae facilisis velit ultricies sit amet. Etiam laoreet dui odio, id tempus justo tincidunt id. Phasellus scelerisque nunc sed nunc ultricies accumsan.</p>
        
        <hr><p>本文2022-06-09首发于<a href='https://ab10303.github.io/'>琴音的博客</a>，最后修改于2022-06-09</p>]]>
      </description>
      
        <category>test</category>
      
    </item>
    
  </channel>
</rss>
