<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>カレー牛個人サイト</title><description>Just For Fun</description><link>https://currybeefpot.com/</link><language>ja</language><item><title>今後の予定</title><link>https://currybeefpot.com/posts/currybeefschedule/</link><guid isPermaLink="true">https://currybeefpot.com/posts/currybeefschedule/</guid><description>CurryBeef Schedule 未來行程</description><pubDate>Sat, 19 Apr 2149 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&amp;lt;div class=&quot;space-y-4&quot;&amp;gt;&lt;/p&gt;
&lt;h1&gt;2026年後半の予定&lt;/h1&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;SGN&quot; to=&quot;TPE&quot; month=&quot;08&quot; day=&quot;07&quot; end-month=&quot;08&quot; end-day=&quot;11&quot; note=&quot;💜&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;SGN&quot; to=&quot;HAN&quot; month=&quot;08&quot; day=&quot;12&quot; end-month=&quot;08&quot; end-day=&quot;12&quot; note=&quot;出張予定&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;SGN&quot; to=&quot;KIX&quot; month=&quot;09&quot; day=&quot;13&quot; end-month=&quot;09&quot; end-day=&quot;23&quot; note=&quot;愛大阪🩵♥️🩵💛🦄&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;planned&quot; from=&quot;SGN&quot; to=&quot;HND&quot; month=&quot;11&quot; day=&quot;12&quot; end-month=&quot;11&quot; end-day=&quot;17&quot; note=&quot;愛東京🦔🩵🩷🌱🩷&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;planned&quot; from=&quot;SGN&quot; to=&quot;TPE&quot; month=&quot;12&quot; day=&quot;04&quot; end-month=&quot;12&quot; end-day=&quot;07&quot; note=&quot;♥️&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;h1&gt;終了済みの予定&lt;/h1&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;SGN&quot; to=&quot;KIX&quot; month=&quot;01&quot; day=&quot;08&quot; end-month=&quot;01&quot; end-day=&quot;14&quot; note=&quot;愛大阪❤️💛🩵🦄&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;SGN&quot; to=&quot;TPE&quot; month=&quot;01&quot; day=&quot;30&quot; end-month=&quot;02&quot; end-day=&quot;06&quot; note=&quot;おれ。Debut Live～夢の、その先へ～💛&amp;lt;br&amp;gt;愛台北💜❤️🤍🩷🖤💛❤️💛&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;SGN&quot; to=&quot;TPE&quot; month=&quot;03&quot; day=&quot;03&quot; end-month=&quot;03&quot; end-day=&quot;12&quot; note=&quot;情勒行程()&amp;lt;br&amp;gt;💜💛♥️💛🩷&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;SGN&quot; to=&quot;HKG&quot; month=&quot;04&quot; day=&quot;16&quot; end-month=&quot;04&quot; end-day=&quot;17&quot; note=&quot;LUNARIS 1ST SINGLE &amp;amp; 2ND COSTUME RELEASE LIVE💙&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;HKG&quot; to=&quot;TPE&quot; month=&quot;04&quot; day=&quot;17&quot; end-month=&quot;04&quot; end-day=&quot;20&quot; note=&quot;家族予定 / 💜💛♥️🩵&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;SGN&quot; to=&quot;KIX&quot; month=&quot;05&quot; day=&quot;08&quot; end-month=&quot;05&quot; end-day=&quot;15&quot; note=&quot;♥️🩵&amp;lt;br&amp;gt;MAWA LOOP OSAKA 2026🩷🌱💛💛💜&amp;lt;br&amp;gt;😋 神戶牛🥩 たこ焼き🐙&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;OSK&quot; to=&quot;TYO&quot; month=&quot;05&quot; day=&quot;15&quot; end-month=&quot;05&quot; end-day=&quot;15&quot; transport=&quot;train&quot; note=&quot;新幹線 ➔ 東京移動！&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;my-trip status=&quot;confirmed&quot; from=&quot;NRT&quot; to=&quot;SGN&quot; month=&quot;05&quot; day=&quot;15&quot; end-month=&quot;05&quot; end-day=&quot;18&quot; note=&quot;アイドル甲子園 in 品川インターシティホール🦔🩷🌱&amp;lt;br&amp;gt;木苺FRUCTOSE 4th巡迴公演～東京公演♥️&quot;&amp;gt;&amp;lt;/my-trip&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;script is:inline&amp;gt;
class MyTrip extends HTMLElement {
connectedCallback() {
const from = this.getAttribute(&apos;from&apos;) || &apos;&apos;;
const to = this.getAttribute(&apos;to&apos;) || &apos;&apos;;
const month = this.getAttribute(&apos;month&apos;) || &apos;00&apos;;
const day = this.getAttribute(&apos;day&apos;) || &apos;00&apos;;
const endMonth = this.getAttribute(&apos;end-month&apos;) || month;
const endDay = this.getAttribute(&apos;end-day&apos;) || day;
const note = this.getAttribute(&apos;note&apos;) || &apos;&apos;;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  // 💡 核心改動：建立交通工具對照表，未來要加新項目直接在裡面補「&apos;鍵&apos;: &apos;Emoji&apos;」即可
  const transport = (this.getAttribute(&apos;transport&apos;) || &apos;&apos;).toLowerCase();
  const transportMap = {
    &apos;train&apos;: &apos;🚅&apos;,
    &apos;bus&apos;: &apos;🚌&apos;,
    &apos;cruise&apos;: &apos;🚢&apos;,
    &apos;helicopter&apos;: &apos;🚁&apos;
  };
  // 如果輸入的關鍵字有在表裡就用它，沒有的話（或沒寫）一律預設為飛機 ✈️
  const transportEmoji = transportMap[transport] || &apos;✈️&apos;;
  
  const status = (this.getAttribute(&apos;status&apos;) || &apos;&apos;).toLowerCase();
  const isConfirmed = status === &apos;confirmed&apos;;

  const sideBorderColors = isConfirmed 
    ? &apos;border-l-green-500 border-r-green-500&apos; 
    : &apos;border-l-orange-500 border-r-orange-500&apos;;

  const bgBadge = isConfirmed 
    ? &apos;bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400&apos; 
    : &apos;bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400&apos;;

  this.className = &quot;block w-full&quot;;
  this.innerHTML = `
    &amp;lt;div class=&quot;relative w-full flex flex-row items-stretch bg-white dark:bg-zinc-900 rounded-2xl shadow-sm overflow-hidden min-h-[95px] border-t border-b border-t-zinc-200 border-b-zinc-200 dark:border-t-zinc-800 dark:border-b-zinc-800 border-l-[6px] border-r-[6px] ${sideBorderColors}&quot;&amp;gt;
      
      &amp;lt;div class=&quot;w-24 md:w-28 flex-shrink-0 flex flex-col items-center justify-center py-3 pl-4 pr-2 border-r border-dashed border-zinc-200 dark:border-zinc-800 bg-zinc-800 text-white&quot;&amp;gt;
        &amp;lt;div class=&quot;relative w-12 h-12 font-black select-none tracking-tighter&quot;&amp;gt;
          &amp;lt;span class=&quot;absolute top-0 left-0 text-[18px] text-white font-extrabold leading-none&quot;&amp;gt;${month}&amp;lt;/span&amp;gt;
          &amp;lt;span class=&quot;absolute inset-0 flex items-center justify-center text-3xl font-light text-white/35 transform rotate-12&quot;&amp;gt;/&amp;lt;/span&amp;gt;
          &amp;lt;span class=&quot;absolute bottom-0 right-0 text-[18px] text-white font-extrabold leading-none&quot;&amp;gt;${day}&amp;lt;/span&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;mt-1 text-2xl font-black tracking-tighter text-white uppercase&quot;&amp;gt;${from}&amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;

      &amp;lt;div class=&quot;flex-grow flex flex-col justify-center px-4 py-3 min-w-0&quot;&amp;gt;
        &amp;lt;div class=&quot;flex items-center justify-center w-full mb-2&quot;&amp;gt;
           &amp;lt;div class=&quot;flex-grow border-b border-dashed border-zinc-200 dark:border-zinc-800&quot;&amp;gt;&amp;lt;/div&amp;gt;
           &amp;lt;div class=&quot;mx-3 flex items-center gap-2&quot;&amp;gt;
             &amp;lt;span class=&quot;text-sm opacity-80&quot;&amp;gt;${transportEmoji}&amp;lt;/span&amp;gt;
             &amp;lt;span class=&quot;text-[9px] font-black uppercase tracking-widest px-2 py-0.5 rounded-md ${bgBadge}&quot;&amp;gt;
               ${isConfirmed ? &apos;Confirmed&apos; : &apos;Planned&apos;}
             &amp;lt;/span&amp;gt;
           &amp;lt;/div&amp;gt;
           &amp;lt;div class=&quot;flex-grow border-b border-dashed border-zinc-200 dark:border-zinc-800&quot;&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;p class=&quot;text-center text-xs md:text-sm font-bold text-zinc-700 dark:text-zinc-300 leading-relaxed break-words&quot;&amp;gt;
          ${note}
        &amp;lt;/p&amp;gt;
      &amp;lt;/div&amp;gt;

      &amp;lt;div class=&quot;w-24 md:w-28 flex-shrink-0 flex flex-col items-center justify-center py-3 pl-2 pr-4 border-l border-dashed border-zinc-200 dark:border-zinc-800 bg-zinc-800 text-white&quot;&amp;gt;
        &amp;lt;div class=&quot;relative w-12 h-12 font-black select-none tracking-tighter&quot;&amp;gt;
          &amp;lt;span class=&quot;absolute top-0 left-0 text-[18px] text-white font-extrabold leading-none&quot;&amp;gt;${endMonth}&amp;lt;/span&amp;gt;
          &amp;lt;span class=&quot;absolute inset-0 flex items-center justify-center text-3xl font-light text-white/35 transform rotate-12&quot;&amp;gt;/&amp;lt;/span&amp;gt;
          &amp;lt;span class=&quot;absolute bottom-0 right-0 text-[18px] text-white font-extrabold leading-none&quot;&amp;gt;${endDay}&amp;lt;/span&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;mt-1 text-2xl font-black tracking-tighter text-white uppercase&quot;&amp;gt;${to}&amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;

    &amp;lt;/div&amp;gt;
  `;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;if (!customElements.get(&apos;my-trip&apos;)) {
customElements.define(&apos;my-trip&apos;, MyTrip);
}
&amp;lt;/script&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>宇宙∞プラネクシア SCHEDULE</title><link>https://currybeefpot.com/posts/idolschedulespaceplanexia/</link><guid isPermaLink="true">https://currybeefpot.com/posts/idolschedulespaceplanexia/</guid><description>Idol Schedule</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;宇宙∞プラネクシア SCHEDULE&lt;/h1&gt;
&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ja&quot;&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
&amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;title&amp;gt;ライブスケジュール&amp;lt;/title&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;style&amp;gt;&lt;/p&gt;
&lt;p&gt;.schedule-list{
max-width:900px;
margin:0 auto;
}&lt;/p&gt;
&lt;p&gt;.schedule-item{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;&lt;/p&gt;
&lt;p&gt;background: rgba(255,255,255,0.95);
border-radius:10px;
padding:8px;&lt;/p&gt;
&lt;p&gt;box-shadow:
0 6px 18px rgba(0,0,0,0.08),
0 2px 6px rgba(0,0,0,0.05);
cursor:pointer;
}&lt;/p&gt;
&lt;p&gt;.year-block{
margin-top:6px;
}&lt;/p&gt;
&lt;p&gt;.year-title{
font-size:20px;
font-weight:bold;
margin-bottom:6px;
}&lt;/p&gt;
&lt;p&gt;.month-block{
margin-bottom:18px;
display:flex;
flex-direction:column;
gap:5px;
}&lt;/p&gt;
&lt;p&gt;.month-title{
font-size:16px;
font-weight:bold;
color:#444;
margin-bottom:6px;
}&lt;/p&gt;
&lt;p&gt;.schedule-item:hover{
background:#fafafa;
}&lt;/p&gt;
&lt;p&gt;.schedule-info{
flex:1;
}&lt;/p&gt;
&lt;p&gt;.schedule-date{
font-size:14px;
color:#666;
margin-bottom:2px;
}&lt;/p&gt;
&lt;p&gt;.schedule-title{
font-weight:bold;
}&lt;/p&gt;
&lt;p&gt;.schedule-thumb{
width:60px;
height:60px;
object-fit:cover;
border-radius:6px;
}&lt;/p&gt;
&lt;p&gt;.today-highlight{
border:2px solid #ff4d6d;
}&lt;/p&gt;
&lt;p&gt;.empty{
color:#666;
}&lt;/p&gt;
&lt;p&gt;.links{
display:flex;
gap:16px;
margin-bottom:14px;
}&lt;/p&gt;
&lt;p&gt;.schedule-venue{
font-size:13px;
color:#888;
}&lt;/p&gt;
&lt;p&gt;&amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;body&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- 背景 --&amp;gt;
&amp;lt;div class=&quot;page-bg&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div class=&quot;schedule-container&quot;&amp;gt;
&amp;lt;div class=&quot;schedule-header&quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&quot;https://87tm.github.io/supepura_calendar/schedule.html&quot; class=&quot;back-button&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&amp;gt;← 公式カレンダーへ戻る&amp;lt;/a&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div id=&quot;schedule&quot; class=&quot;schedule-list&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;script&amp;gt;&lt;/p&gt;
&lt;p&gt;let events=[];&lt;/p&gt;
&lt;p&gt;async function loadEvents(){&lt;/p&gt;
&lt;p&gt;try{
events = await fetch(&quot;https://event-api.t87.workers.dev/events&quot;)
.then(r =&amp;gt; r.json());
}catch(e){
events=[];
}&lt;/p&gt;
&lt;p&gt;renderSchedule();
}&lt;/p&gt;
&lt;p&gt;loadEvents();&lt;/p&gt;
&lt;p&gt;function renderSchedule(){&lt;/p&gt;
&lt;p&gt;const container=document.getElementById(&quot;schedule&quot;);&lt;/p&gt;
&lt;p&gt;const today=new Date();
today.setHours(0,0,0,0);
const monthStart = new Date(today.getFullYear(), today.getMonth(), 1);&lt;/p&gt;
&lt;p&gt;const futureEvents = events
.filter(e=&amp;gt;e.date)
.filter(e =&amp;gt; {
const d = new Date(e.date);
return !isNaN(d) &amp;amp;&amp;amp; d &amp;gt;= monthStart;
})
.sort((a,b)=&amp;gt; new Date(a.date) - new Date(b.date));&lt;/p&gt;
&lt;p&gt;if(futureEvents.length===0){
container.innerHTML=&apos;&amp;lt;div class=&quot;empty&quot;&amp;gt;イベントはありません&amp;lt;/div&amp;gt;&apos;;
return;
}&lt;/p&gt;
&lt;p&gt;const grouped={};&lt;/p&gt;
&lt;p&gt;futureEvents.forEach(event=&amp;gt;{&lt;/p&gt;
&lt;p&gt;const d=new Date(event.date);&lt;/p&gt;
&lt;p&gt;const y=d.getFullYear();
const m=d.getMonth()+1;&lt;/p&gt;
&lt;p&gt;if(!grouped[y]) grouped[y]={};
if(!grouped[y][m]) grouped[y][m]=[];&lt;/p&gt;
&lt;p&gt;grouped[y][m].push(event);&lt;/p&gt;
&lt;p&gt;});&lt;/p&gt;
&lt;p&gt;Object.keys(grouped).sort().forEach(year=&amp;gt;{&lt;/p&gt;
&lt;p&gt;const yearBlock=document.createElement(&quot;div&quot;);
yearBlock.className=&quot;year-block&quot;;&lt;/p&gt;
&lt;p&gt;const yearTitle=document.createElement(&quot;div&quot;);
yearTitle.className=&quot;year-title&quot;;
yearTitle.textContent=year;&lt;/p&gt;
&lt;p&gt;yearBlock.appendChild(yearTitle);&lt;/p&gt;
&lt;p&gt;Object.keys(grouped[year]).sort((a,b)=&amp;gt;a-b).forEach(month=&amp;gt;{&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;const monthBlock=document.createElement(&quot;div&quot;);
monthBlock.className=&quot;month-block&quot;;

const monthTitle=document.createElement(&quot;div&quot;);
monthTitle.className=&quot;month-title&quot;;
monthTitle.textContent=month+&quot;月&quot;;

monthBlock.appendChild(monthTitle);

grouped[year][month].forEach(event=&amp;gt;{

  const item=document.createElement(&quot;div&quot;);
  item.className=&quot;schedule-item&quot;;

  const eventDate=new Date(event.date);

  if(eventDate.getTime()===today.getTime()){
    item.classList.add(&quot;today-highlight&quot;);
  }

  item.onclick=()=&amp;gt;{
    location.href=`https://87tm.github.io/supepura_calendar/event.html?id=${event.id}`;
  };

  const info=document.createElement(&quot;div&quot;);
  info.className=&quot;schedule-info&quot;;

  const date=document.createElement(&quot;div&quot;);
  date.className=&quot;schedule-date&quot;;
  date.textContent=event.date;

  const title=document.createElement(&quot;div&quot;);
  title.className=&quot;schedule-title&quot;;
  title.textContent=event.title;

  const venue=document.createElement(&quot;div&quot;);
  venue.className=&quot;schedule-venue&quot;;
  venue.textContent=event.venue || &quot;&quot;;

  info.appendChild(date);
  info.appendChild(title);
  info.appendChild(venue);

  const img=document.createElement(&quot;img&quot;);
  img.className=&quot;schedule-thumb&quot;;

  if(event.images &amp;amp;&amp;amp; event.images[0]){
    img.src=event.images[0];
    img.addEventListener(&apos;click&apos;, ()=&amp;gt;{
      location.href=`https://87tm.github.io/supepura_calendar/event.html?id=${event.id}`;
    });
  }else{
    img.style.display=&quot;none&quot;;
  }

  img.onerror=()=&amp;gt;{img.style.display=&quot;none&quot;};

  item.appendChild(info);
  item.appendChild(img);

  monthBlock.appendChild(item);

});

yearBlock.appendChild(monthBlock);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;});&lt;/p&gt;
&lt;p&gt;container.appendChild(yearBlock);&lt;/p&gt;
&lt;p&gt;});
}&lt;/p&gt;
&lt;p&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>ハルニシオン SCHEDULE</title><link>https://currybeefpot.com/posts/idolschedule/</link><guid isPermaLink="true">https://currybeefpot.com/posts/idolschedule/</guid><description>Idol Schedule</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;📅 ハルニシオン最新行程&lt;/h1&gt;
&lt;p&gt;&amp;lt;a id=&quot;official-schedule-link&quot; class=&quot;btn-ghost&quot; href=&quot;https://harunision-official.boosty.app/schedules&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/a&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;margin-top: 1.5rem;&quot;&amp;gt;
&amp;lt;h4 style=&quot;font-size: 1.25rem; font-weight: 700; border-left: 4px solid #60a5fa; padding-left: 8px; margin-bottom: 1rem;&quot; id=&quot;current-month-title&quot;&amp;gt;
載入中...
&amp;lt;/h4&amp;gt;
&amp;lt;div id=&quot;current-schedule-container&quot; style=&quot;display: flex; flex-direction: column; gap: 1rem; max-width: 600px;&quot;&amp;gt;
&amp;lt;p class=&quot;loading-text&quot; style=&quot;color: gray; font-size: 0.875rem;&quot;&amp;gt;正在努力從 Boosty 搬運當月行程中...&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div style=&quot;margin-top: 1.5rem;&quot;&amp;gt;
&amp;lt;h4 style=&quot;font-size: 1.25rem; font-weight: 700; border-left: 4px solid #a855f7; padding-left: 8px; margin-bottom: 1rem;&quot; id=&quot;next-month-title&quot;&amp;gt;
載入中...
&amp;lt;/h4&amp;gt;
&amp;lt;div id=&quot;next-schedule-container&quot; style=&quot;display: flex; flex-direction: column; gap: 1rem; max-width: 600px;&quot;&amp;gt;
&amp;lt;p class=&quot;loading-text&quot; style=&quot;color: gray; font-size: 0.875rem;&quot;&amp;gt;正在努力從 Boosty 搬運下月行程中...&amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;br&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;script is:inline&amp;gt;
const TAG_COLORS = {
current: &apos;#60a5fa&apos;,
next: &apos;#a855f7&apos;,
};&lt;/p&gt;
&lt;p&gt;const SCHEDULE_SECTIONS = [
{
key: &apos;current&apos;,
titleId: &apos;current-month-title&apos;,
containerId: &apos;current-schedule-container&apos;,
loadingMessage: &apos;正在努力從 Boosty 搬運當月行程中...&apos;,
},
{
key: &apos;next&apos;,
titleId: &apos;next-month-title&apos;,
containerId: &apos;next-schedule-container&apos;,
loadingMessage: &apos;正在努力從 Boosty 搬運下月行程中...&apos;,
},
];&lt;/p&gt;
&lt;p&gt;function renderEvents(eventElements, container, loadingText, sectionKey) {
if (!eventElements || eventElements.length === 0) {
loadingText.textContent = &apos;這個月暫時沒有公開行程唷！&apos;;
return;
}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;loadingText.remove();
const tagColor = TAG_COLORS[sectionKey] || TAG_COLORS.current;

eventElements.forEach(event =&amp;gt; {
  const cardHtml = `
    &amp;lt;div style=&quot;border: 1px solid rgba(156, 163, 175, 0.2); border-radius: 12px; padding: 1rem; background: rgba(255,255,255,0.02); display: flex; align-items: center; gap: 1rem;&quot;&amp;gt;
      &amp;lt;div style=&quot;text-align: center; min-width: 50px;&quot;&amp;gt;
        &amp;lt;span style=&quot;font-size: 1.5rem; font-weight: 800; display: block; line-height: 1.2;&quot;&amp;gt;${event.day}&amp;lt;/span&amp;gt;
        &amp;lt;span style=&quot;font-size: 0.75rem; background: rgba(156,163,175,0.2); padding: 2px 8px; border-radius: 9999px;&quot;&amp;gt;${event.weekday}&amp;lt;/span&amp;gt;
      &amp;lt;/div&amp;gt;
      &amp;lt;div style=&quot;flex-grow: 1;&quot;&amp;gt;
        &amp;lt;span style=&quot;font-size: 0.75rem; color: ${tagColor}; font-weight: bold;&quot;&amp;gt;${event.tag}&amp;lt;/span&amp;gt;
        &amp;lt;h4 style=&quot;margin: 4px 0 0 0; font-size: 1rem; font-weight: 600; line-height: 1.4;&quot;&amp;gt;
          &amp;lt;a href=&quot;${event.link}&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; style=&quot;text-decoration: none; color: inherit;&quot;&amp;gt;
            ${event.title}
          &amp;lt;/a&amp;gt;
        &amp;lt;/h4&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  `;
  container.insertAdjacentHTML(&apos;beforeend&apos;, cardHtml);
});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;function resetContainer(container, message) {
container.innerHTML = &lt;code&gt;&amp;lt;p class=&quot;loading-text&quot; style=&quot;color: gray; font-size: 0.875rem;&quot;&amp;gt;${message}&amp;lt;/p&amp;gt;&lt;/code&gt;;
return container.querySelector(&apos;.loading-text&apos;);
}&lt;/p&gt;
&lt;p&gt;function renderMonthSection(section, container, titleEl, sectionKey, loadingMessage) {
titleEl.textContent = &lt;code&gt;${section.year}年${section.month}月 行程表&lt;/code&gt;;
const loadingText = resetContainer(container, loadingMessage);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if (section &amp;amp;&amp;amp; section.error) {
  loadingText.textContent = `行程表搬運失敗：${section.error}`;
  loadingText.style.color = &apos;#ef4444&apos;;
  return;
}

renderEvents(section?.events, container, loadingText, sectionKey);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;async function initSchedule() {
const sections = SCHEDULE_SECTIONS.map(({ key, titleId, containerId, loadingMessage }) =&amp;gt; ({
key,
titleEl: document.getElementById(titleId),
container: document.getElementById(containerId),
loadingMessage,
})).filter(section =&amp;gt; section.titleEl &amp;amp;&amp;amp; section.container);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if (sections.length === 0) return;

sections.forEach(({ container, loadingMessage }) =&amp;gt; resetContainer(container, loadingMessage));

try {
  // 計算當月、下月、前月
  const now = new Date();
  const currentMonth = now.getMonth() + 1;
  const currentYear = now.getFullYear();
  
  const nextDate = new Date(currentYear, currentMonth, 1);
  const nextMonth = nextDate.getMonth() + 1;
  const nextYear = nextDate.getFullYear();
  
  const prevDate = new Date(currentYear, currentMonth - 2, 1);
  const prevMonth = prevDate.getMonth() + 1;
  const prevYear = prevDate.getFullYear();

  const WORKER_URL = &apos;https://currybeefpotwebdata.tparhythm.workers.dev/&apos;;

  // 並發調用 Worker 獲取三個月的數據
  const [currentResp, nextResp, prevResp] = await Promise.all([
    fetch(`${WORKER_URL}?month=${currentMonth}&amp;amp;year=${currentYear}`),
    fetch(`${WORKER_URL}?month=${nextMonth}&amp;amp;year=${nextYear}`),
    fetch(`${WORKER_URL}?month=${prevMonth}&amp;amp;year=${prevYear}`)
  ]);

  if (!currentResp.ok || !nextResp.ok || !prevResp.ok) {
    throw new Error(&apos;Worker 請求失敗&apos;);
  }

  const currentData = await currentResp.json();
  const nextData = await nextResp.json();
  const prevData = await prevResp.json();

  const data = {
    current: { 
      year: currentYear, 
      month: currentMonth, 
      events: currentData.events || [],
      error: currentData.success ? undefined : currentData.error
    },
    next: { 
      year: nextYear, 
      month: nextMonth, 
      events: nextData.events || [],
      error: nextData.success ? undefined : nextData.error
    },
    fixed: { 
      year: prevYear, 
      month: prevMonth, 
      events: prevData.events || [],
      error: prevData.success ? undefined : prevData.error
    }
  };

  sections.forEach(({ key, container, titleEl, loadingMessage }) =&amp;gt; {
    renderMonthSection(data[key], container, titleEl, key, loadingMessage);
  });

  const officialLink = document.getElementById(&apos;official-schedule-link&apos;);
  if (officialLink &amp;amp;&amp;amp; data.current) {
    officialLink.href = `https://harunision-official.boosty.app/schedules?month=${data.current.month}&amp;amp;year=${data.current.year}`;
  }
} catch (error) {
  const message = error instanceof Error ? error.message : &apos;未知錯誤&apos;;
  sections.forEach(({ container }) =&amp;gt; {
    const loadingText = container.querySelector(&apos;.loading-text&apos;);
    if (loadingText) {
      loadingText.textContent = `行程表搬運失敗：${message}`;
      loadingText.style.color = &apos;#ef4444&apos;;
    }
  });
  console.error(error);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;initSchedule();
document.addEventListener(&apos;astro:page-load&apos;, initSchedule);
&amp;lt;/script&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>卡拉OK分詞</title><link>https://currybeefpot.com/posts/lyrics/</link><guid isPermaLink="true">https://currybeefpot.com/posts/lyrics/</guid><description>一緒に歌おう!</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;官方有合作的按官方分詞
&amp;lt;br&amp;gt;如:〈革命道中 on the way〉取自アイナ・ジ・エンド x 優里；〈晚餐歌〉取自tuki. x 優里
&amp;lt;br&amp;gt;&amp;lt;spoiler&amp;gt;(謝謝渣男幫忙分好詞&amp;lt;/spoiler&amp;gt;
&amp;lt;br&amp;gt;
&amp;lt;br&amp;gt;通常會留難唱的part和落ちさび給女僕/小偶像 &amp;lt;spoiler&amp;gt;(畢竟應該不會有人想看死宅在台上撕吼)&amp;lt;/spoiler&amp;gt;
&amp;lt;br&amp;gt;以下鏈接自Google Drive，隨意取用&lt;/p&gt;
&lt;h2&gt;(👇點擊展開) &amp;lt;span class=&quot;text-red-500&quot;&amp;gt;女&amp;lt;/span&amp;gt;  &amp;lt;span class=&quot;text-blue-500&quot;&amp;gt;男&amp;lt;/span&amp;gt; 合&lt;/h2&gt;
&lt;p&gt;&amp;lt;script is:inline&amp;gt;
// 1. 統一管理所有歌曲，增加 &quot;tag&quot; 來分類
window.allMusicData = [
{ tag: &quot;動畫曲/アニソン&quot;, name: &quot;怪物&quot;, author: &quot;YOASOBI&quot;, link: &quot;1vTzt8hQHNKsaGuAzB1KKo4zhhQmxjCx7&quot; },
{ tag: &quot;動畫曲/アニソン&quot;, name: &quot;優しい彗星&quot;, author: &quot;YOASOBI&quot;, link: &quot;1YWBsg5d7wYjl_vSx0gU1ZtTv-9yQHaRk&quot; },
{ tag: &quot;動畫曲/アニソン&quot;, name: &quot;アイドル&quot;, author: &quot;YOASOBI&quot;, link: &quot;1zrVlbIQdhpmZSFGOMJOmf5t9aiXSfcie&quot; },
{ tag: &quot;動畫曲/アニソン&quot;, name: &quot;青のすみか&quot;, author: &quot;キタニタツヤ&quot;, link: &quot;1LsSxvmAXo8Q9osG_QeNwIHcLiU7Tt_zL&quot; },
{ tag: &quot;動畫曲/アニソン&quot;, name: &quot;革命道中 on the way&quot;, author: &quot;アイナ・ジ・エンド&quot;, link: &quot;1wq0TawzCuYWtlxNRd81xwuTCLdbBVxjI&quot; },
{ tag: &quot;動畫曲/アニソン&quot;, name: &quot;カワキヲアメク&quot;, author: &quot;美波&quot;, link: &quot;1kr3xYdNUyKMqNFSNHxHeZskxP8UYw55O&quot; },&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{ tag: &quot;偶像曲/アイドル曲&quot;, name: &quot;幻想トラベル&quot;, author: &quot;時空Astria&quot;, link: &quot;16CRlQnEBPRYah0fgvsUE0YTaEJCnl9ov&quot; },
{ tag: &quot;偶像曲/アイドル曲&quot;, name: &quot;Timeless Wonderland&quot;, author: &quot;時空Astria&quot;, link: &quot;1WxaIhfF5M1JGNNWeTTnITHXKEhhMG8U1&quot; },


{ tag: &quot;VOCALOID/ボカロ曲&quot;, name: &quot;少女レイ&quot;, author: &quot;みきとP&quot;, link: &quot;1ez2TfY93RxGawMs9BdFbmwx-7iMpmxoX&quot; },
{ tag: &quot;VOCALOID/ボカロ曲&quot;, name: &quot;フォニイ&quot;, author: &quot;ツミキ&quot;, link: &quot;1z0T9z_HMnFbiD2auR8J-xCGmcl1q1qVW&quot; },
{ tag: &quot;VOCALOID/ボカロ曲&quot;, name: &quot;シャルル&quot;, author: &quot;バルーン&quot;, link: &quot;1Zd0L7fT3mJ1JbmseT0jp2R8pNe8x0mpo&quot; },


{ tag: &quot;現充曲/リア充ソング&quot;, name: &quot;秒針を噛む&quot;, author: &quot;ずっと真夜中でいいのに。&quot;, link: &quot;1GacZW88U1iGk56j-JmY46YFbg-mP23FF&quot; },
{ tag: &quot;現充曲/リア充ソング&quot;, name: &quot;晚餐歌&quot;, author: &quot;tuki.&quot;, link: &quot;1wkUiZ7oBExhFlvjeM6mk8ZrbDB_lzLjG&quot; },
{ tag: &quot;現充曲/リア充ソング&quot;, name: &quot;ドライフラワー&quot;, author: &quot;優里&quot;, link: &quot;1aqMT4vMx1TMzECY4R9_02Lx7xntXwe4V&quot; },
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;];
&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;div id=&quot;music-app&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;script is:inline&amp;gt;
(function() {
const app = document.getElementById(&apos;music-app&apos;);
if (!app || !window.allMusicData) return;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;// 2. 自動按 tag 分組
const groups = window.allMusicData.reduce((acc, s) =&amp;gt; {
  (acc[s.tag] = acc[s.tag] || []).push(s);
  return acc;
}, {});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;// 3. 一次性生成所有內容
let html = &apos;&apos;;
let isFirstGroup = true; // 用來判斷是不是第一個分類&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;for (const tag in groups) {
  // 如果不是第一個分類，就加上兩個 &amp;lt;br&amp;gt; 換行
  if (!isFirstGroup) {
    html += &apos;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&apos;;
  }
  
  html += &apos;&amp;lt;h1 class=&quot;text-2xl font-bold mb-4&quot;&amp;gt;&apos; + tag + &apos;&amp;lt;/h1&amp;gt;&apos;;
  html += &apos;&amp;lt;div class=&quot;space-y-3&quot;&amp;gt;&apos;;
  
  groups[tag].forEach(s =&amp;gt; {
    html += &apos;&amp;lt;details class=&quot;group border border-zinc-200 dark:border-zinc-800 rounded-xl overflow-hidden bg-zinc-50 dark:bg-zinc-900 mb-3&quot;&amp;gt;&apos; +
      &apos;&amp;lt;summary class=&quot;flex items-center justify-between p-4 cursor-pointer hover:bg-zinc-100 dark:hover:bg-zinc-800 transition-colors&quot;&amp;gt;&apos; +
        &apos;&amp;lt;div class=&quot;flex items-center gap-3&quot;&amp;gt;&apos; +
          &apos;&amp;lt;span class=&quot;text-xl&quot;&amp;gt;🎵&amp;lt;/span&amp;gt;&apos; +
          &apos;&amp;lt;span class=&quot;font-medium text-zinc-700 dark:text-zinc-300&quot;&amp;gt;&apos; + s.name + &apos; / &apos; + s.author + &apos;&amp;lt;/span&amp;gt;&apos; +
        &apos;&amp;lt;/div&amp;gt;&apos; +
        &apos;&amp;lt;svg class=&quot;w-5 h-5 transition-transform group-open:rotate-180&quot; fill=&quot;none&quot; viewBox=&quot;0 0 24 24&quot; stroke=&quot;currentColor&quot;&amp;gt;&amp;lt;path d=&quot;M19 9l-7 7-7-7&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;/&amp;gt;&amp;lt;/svg&amp;gt;&apos; +
      &apos;&amp;lt;/summary&amp;gt;&apos; +
      &apos;&amp;lt;div class=&quot;p-0 border-t border-zinc-200 dark:border-zinc-800&quot;&amp;gt;&apos; +
        &apos;&amp;lt;iframe src=&quot;https://drive.google.com/file/d/&apos; + s.link + &apos;/preview#view=FitH&quot; class=&quot;w-full aspect-[21/29.7] min-h-[400px]&quot; style=&quot;border: none;&quot; loading=&quot;lazy&quot;&amp;gt;&amp;lt;/iframe&amp;gt;&apos; +
      &apos;&amp;lt;/div&amp;gt;&apos; +
    &apos;&amp;lt;/details&amp;gt;&apos;;
  });
  
  html += &apos;&amp;lt;/div&amp;gt;&apos;;
  isFirstGroup = false; // 跑完第一個後，標記設為 false
}
app.innerHTML = html;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;})();
&amp;lt;/script&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>Spotify歌單</title><link>https://currybeefpot.com/posts/currymusiclist/</link><guid isPermaLink="true">https://currybeefpot.com/posts/currymusiclist/</guid><description>品味展示(?)</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;品味展示(?)&lt;/h1&gt;
&lt;p&gt;能感受到年代感的歌單(要不是spotify歌不全還有更多)&lt;/p&gt;
&lt;h1&gt;&amp;lt;br&amp;gt;動畫歌/アニソン&lt;/h1&gt;
&lt;p&gt;&amp;lt;iframe data-testid=&quot;embed-iframe&quot; style=&quot;border-radius:12px&quot; src=&quot;https://open.spotify.com/embed/playlist/3CwPZGGAlpjDCk8SX6Y7Mn?utm_source=generator&quot; width=&quot;100%&quot; height=&quot;512&quot; frameBorder=&quot;0&quot; allowfullscreen=&quot;&quot; allow=&quot;autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture&quot; loading=&quot;lazy&quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;
&lt;h1&gt;&amp;lt;br&amp;gt;游戲曲/ゲーム曲&lt;/h1&gt;
&lt;p&gt;&amp;lt;iframe data-testid=&quot;embed-iframe&quot; style=&quot;border-radius:12px&quot; src=&quot;https://open.spotify.com/embed/playlist/2NpVrkcXUpbyxKrUeF4IRV?utm_source=generator&quot; width=&quot;100%&quot; height=&quot;512&quot; frameBorder=&quot;0&quot; allowfullscreen=&quot;&quot; allow=&quot;autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture&quot; loading=&quot;lazy&quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;
&lt;h1&gt;&amp;lt;br&amp;gt;偶像曲/アイドル曲&lt;/h1&gt;
&lt;p&gt;&amp;lt;iframe data-testid=&quot;embed-iframe&quot; style=&quot;border-radius:12px&quot; src=&quot;https://open.spotify.com/embed/playlist/3V9S5jFGn5W1IxM1enFcZ2?utm_source=generator&quot; width=&quot;100%&quot; height=&quot;512&quot; frameBorder=&quot;0&quot; allowfullscreen=&quot;&quot; allow=&quot;autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture&quot; loading=&quot;lazy&quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;
&lt;h1&gt;&amp;lt;br&amp;gt;VOCALOID/ボカロ曲&lt;/h1&gt;
&lt;p&gt;&amp;lt;iframe data-testid=&quot;embed-iframe&quot; style=&quot;border-radius:12px&quot; src=&quot;https://open.spotify.com/embed/playlist/6xjdl2ZIMBaVTn1gaBRRbJ?utm_source=generator&quot; width=&quot;100%&quot; height=&quot;512&quot; frameBorder=&quot;0&quot; allowfullscreen=&quot;&quot; allow=&quot;autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture&quot; loading=&quot;lazy&quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>開發計劃/個人サイト構築プラン</title><link>https://currybeefpot.com/posts/devplan/</link><guid isPermaLink="true">https://currybeefpot.com/posts/devplan/</guid><description>Site Roadmap</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;前言(碎碎念)&lt;/h1&gt;
&lt;p&gt;上一次開發網站還是10年前自己還是大學生的時候花3個月搭了個WordPress
&amp;lt;br&amp;gt;(每個月還花5刀租VPS,真的是讓本就不富裕的學生生活雪上加霜)
&amp;lt;br&amp;gt;對比之下本站運營成本為0，完全白嫖Cloudflare (好時代，來臨力)
&amp;lt;br&amp;gt;真是羡慕現在的人可以不用坐牢看著手冊一步一步搭，不懂的地方還能找AI求救(雖然很多時候AI都亂回😅
&amp;lt;br&amp;gt;多虧了比以前又更加活躍的GitHub社區，這個站竟然只花了一個下午就搭好了&lt;/p&gt;
&lt;h1&gt;拍立得圖床展示/チェキコレクション&lt;/h1&gt;
&lt;p&gt;暫定R2+Supabase的方案
&amp;lt;br&amp;gt;届時會有分類團體/偶像/日期，一點就開，不過以前沒用過Supabase這種東西，然後拍立得目前只掃描了十分之一不到，本項目應該會擱置非常久
&amp;lt;br&amp;gt;ー
&amp;lt;br&amp;gt;R2+Supabaseの構成で行く予定
&amp;lt;br&amp;gt;グループ、アイドル、日付でフィルタリングできるようにしたいけど、Supabase触るの初めてだし
&amp;lt;br&amp;gt;あと、手元のチェキがまだ10％もスキャン終わってないから、このプロジェクトは相当長いこと放置することになりそうw&lt;/p&gt;
&lt;h1&gt;動畫/アニメ鑑賞&lt;/h1&gt;
&lt;p&gt;一直以來都有看番簡評並用excel記錄(截至2026/01新番完結共看完437部動畫)，還在想UI怎麽展示比較美觀，應該會比較快上？
&amp;lt;br&amp;gt;(只要看得夠多，大家都能N1
&amp;lt;br&amp;gt;ー
&amp;lt;br&amp;gt;ずっとExcelでレビューつけてて（2026年1月時点で累計437本完走）、UIをどうオシャレに見せるか考え中🤔 こっちは割と早く公開できるかも？
&amp;lt;br&amp;gt;（アニメさえ見まくれば、誰でもN1取れる説w&lt;/p&gt;
&lt;h1&gt;音樂&lt;/h1&gt;
&lt;p&gt;之後應該會簡單放一些spotify歌單 然後不定時放一些卡拉OK記錄摧殘大家的耳朵，影片會用R2+限制域名放映(應該不會有人閑到用IDM載吧= =)
&amp;lt;br&amp;gt;ー
&amp;lt;br&amp;gt;そのうちSpotifyのプレイリストを適當に置く予定。
&amp;lt;br&amp;gt;たまにカラオケ動画を上げてみんなの耳を破壊するかもw 動画はR2+サイト制限で公開するつもり（わざわざIDMで落とす暇人なんていないよね…？）&lt;/p&gt;
&lt;h1&gt;動画&lt;/h1&gt;
&lt;p&gt;之前投過PV/meme形式的片，身爲MADer的功力對於一般大衆和營運就是降維打擊= =流量是真的太好太炸魚，感覺太顯眼又擠壓到一般人的生存空間，之後就都作罷了。現在電腦還躺著兩篇廢稿。
&amp;lt;br&amp;gt;之後有的話就丟這邊(不過能讓我有動力做影片的人和事不多就是了
&amp;lt;br&amp;gt;ー
&amp;lt;br&amp;gt;昔はニコニコで結構PVとかmeme系の動画を投稿してたｗ
&amp;lt;br&amp;gt;MADerとしてガチで作ると、周りとのスキルの差が浮いちゃってちょっと気まずいんだよねｗ。だから投稿を控えてる感じ
&amp;lt;br&amp;gt;また気が向いたらここに投下するかも（ま、わざわざ動画を作るほどの對象は最近あんまりいないですけど&lt;/p&gt;
</content:encoded></item><item><title>愚人節固定行程</title><link>https://currybeefpot.com/posts/aprilfool/</link><guid isPermaLink="true">https://currybeefpot.com/posts/aprilfool/</guid><description>April Fool&apos;s Day</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;很多社交媒體都會在設定的生日當天推送給好友訊息，身爲真正的自閉兒童(?) 當然不想被知道真實生日
&amp;lt;br&amp;gt;默認的1月1日感覺太假，就乾脆將都設成4月1日
&amp;lt;br&amp;gt;然後就是每年的定番：等待各路廠商的祝福和禮物(笑 &amp;lt;br&amp;gt;今年也是開心的過了愚人節(ㄅ歉我就樂子人w
&amp;lt;br&amp;gt;隨著每年都在這個日子被祝福，我也不敢現在才講&quot;Happy April Fools&apos; Day!&quot;😅
&amp;lt;br&amp;gt;生日基本都排休假自己去過，除了HR和幾個老東西以外根本沒人知道我是六月🤣&lt;/p&gt;
</content:encoded></item><item><title>Post嵌入影片</title><link>https://currybeefpot.com/posts/video/</link><guid isPermaLink="true">https://currybeefpot.com/posts/video/</guid><description>嵌入影片換源碼</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;替換掉源即可，高度建議468&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
title: inputvideotest
published: 2026-03-31
// ...
---

&amp;lt;iframe width=&quot;100%&quot; height=&quot;468&quot; src=&quot;https://www.youtube.com/embed/SfSx-I7o8Cs&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;YouTube&lt;/h2&gt;
&lt;p&gt;&amp;lt;iframe width=&quot;1572&quot; height=&quot;468&quot; src=&quot;https://www.youtube.com/embed/SfSx-I7o8Cs&quot; title=&quot;ハルニシオン「ドラマチック」Official MusicVideo&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;
&lt;h2&gt;Niconico&lt;/h2&gt;
&lt;p&gt;&amp;lt;iframe
style=&quot;width: 100%; max-width: 832px; height: 468px; border: none;&quot;
src=&quot;https://embed.nicovideo.jp/watch/sm8628149&quot;
title=&quot;Niconico video player&quot;
allowfullscreen&amp;gt;
&amp;lt;/iframe&amp;gt;&lt;/p&gt;
&lt;h2&gt;Bilibili&lt;/h2&gt;
&lt;p&gt;&amp;lt;iframe width=&quot;100%&quot; height=&quot;468&quot; src=&quot;//player.bilibili.com/player.html?bvid=BV1x3UUY6ENq&quot; scrolling=&quot;no&quot; border=&quot;0&quot; frameborder=&quot;no&quot; framespacing=&quot;0&quot; allowfullscreen=&quot;true&quot;&amp;gt; &amp;lt;/iframe&amp;gt;
&amp;lt;iframe&lt;/p&gt;
</content:encoded></item><item><title>Simple Guides for Fuwari</title><link>https://currybeefpot.com/posts/guide/</link><guid isPermaLink="true">https://currybeefpot.com/posts/guide/</guid><description>How to use this blog template.</description><pubDate>Mon, 01 Apr 2024 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Cover image source: &lt;a href=&quot;https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/208fc754-890d-4adb-9753-2c963332675d/width=2048/01651-1456859105-(colour_1.5),girl,_Blue,yellow,green,cyan,purple,red,pink,_best,8k,UHD,masterpiece,male%20focus,%201boy,gloves,%20ponytail,%20long%20hair,.jpeg&quot;&gt;Source&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This blog template is built with &lt;a href=&quot;https://astro.build/&quot;&gt;Astro&lt;/a&gt;. For the things that are not mentioned in this guide, you may find the answers in the &lt;a href=&quot;https://docs.astro.build/&quot;&gt;Astro Docs&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Front-matter of Posts&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;---
title: My First Blog Post
published: 2023-09-09
description: This is the first post of my new Astro blog.
image: ./cover.jpg
tags: [Foo, Bar]
category: Front-end
draft: false
---
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Attribute&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The title of the post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;published&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The date the post was published.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;A short description of the post. Displayed on index page.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;image&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The cover image path of the post.&amp;lt;br/&amp;gt;1. Start with &lt;code&gt;http://&lt;/code&gt; or &lt;code&gt;https://&lt;/code&gt;: Use web image&amp;lt;br/&amp;gt;2. Start with &lt;code&gt;/&lt;/code&gt;: For image in &lt;code&gt;public&lt;/code&gt; dir&amp;lt;br/&amp;gt;3. With none of the prefixes: Relative to the markdown file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tags&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The tags of the post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;category&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The category of the post.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;draft&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;If this post is still a draft, which won&apos;t be displayed.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Where to Place the Post Files&lt;/h2&gt;
&lt;p&gt;Your post files should be placed in &lt;code&gt;src/content/posts/&lt;/code&gt; directory. You can also create sub-directories to better organize your posts and assets.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;src/content/posts/
├── post-1.md
└── post-2/
    ├── cover.png
    └── index.md
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item></channel></rss>