PageSourceSearch

https://www.sourcekode.com.tw/_nuxt/DobMktca.js

js sourcekode.com.tw collected 2026-10-02 01:10:01 UTC 5,882 bytes, 1 lines download raw bytes

1import I from"./B8g-V7jc.js";import{_ as q}from"./0bwiuNr7.js";import{_ as M}from"./DtYt8fQH.js";import{_ as P}from"./C4HLPqlI.js";import{e as U,A as j,z as C,p as $,B as T,u as B,c as a,b as l,w as x,o as n,v as s,a as i,f as p,i as L,d as k,t as d,F as O,g as K}from"./C-zA3Stn.js";import{b as F,d as H}from"./DebQ8eij.js";import{u as V}from"./B-yMdZOR.js";import{_ as Y}from"./DlAUqK2U.js";import"./CqkleIqs.js";import"./rQEhrccQ.js";const z={class:"bg-surface-50 text-ink-950 antialiased"},E={key:0,class:"pt-16 pb-24 md:pt-24 md:pb-32"},Q={class:"flex items-center gap-3 text-xs uppercase tracking-[0.25em] text-ink-500 mb-6"},R={key:0},W={key:1,class:"text-ink-300"},J={class:"font-semibold tracking-tight text-ink-950 text-4xl leading-[1.1] md:text-5xl md:leading-[1.05] lg:text-[64px] lg:leading-[1.02]"},G={key:0,class:"mt-6 text-lg italic leading-relaxed text-ink-500"},X={key:2,class:"aspect-[4/3] w-full overflow-hidden bg-surface-100 ring-1 ring-ink-200 my-12"},Z=["src","alt"],tt={class:"border-t border-ink-200 pt-10"},et=["innerHTML"],st={key:1,class:"text-center text-ink-500 py-16"},ot={key:3,class:"border-t border-ink-200 mt-16 pt-12"},it={class:"divide-y divide-ink-200"},nt=["open"],at={class:"flex items-start justify-between gap-4 cursor-pointer list-none"},rt={class:"text-lg font-medium text-ink-950 leading-snug"},lt={class:"mt-3 text-ink-600 leading-relaxed"},ct={class:"mt-16"},dt={class:"border-t border-ink-200 mt-16 pt-12"},mt={key:1,class:"max-w-3xl mx-auto py-32 md:py-40"},pt=U({__name:"index",async setup(gt){let f,y;const N=C(),w=j(),S=w.public.cdnPrefix,h=w.public.siteUrl,v=t=>t?/^https?:\/\//.test(t)?t:S+t:"",D=t=>t?H(t).format("YYYY/MM/DD"):"",A=N.params.slug,{data:e}=([f,y]=$(async()=>V(`blog-${A}`,async()=>{try{return(await F.getArticleDetail(A)).article}catch(t){return console.error("❌ 無法載入文章詳細資料",t),null}})),f=await f,y(),f);if(e.value,e.value){const t=e.value,o=`${h}/blog/${t.slug||t.id}`,r=t.seoTitle||t.title,c=t.metaDescription||t.description||t.subTitle||"",m=v(t.imageUrl||t.topImageUrl)||`${h}/og-cover.jpg`,g=t.publishedAt||t.createdAt,u=t.updatedAt||g;T({title:`${r}|SourceKode`,description:c,ogTitle:r,ogDescription:c,ogType:"article",ogUrl:o,ogImage:m,twitterCard:"summary_large_image",twitterTitle:r,twitterDescription:c,twitterImage:m,articlePublishedTime:g,articleModifiedTime:u});const _=[{"@context":"https://schema.org","@type":"BlogPosting",headline:r,description:c,image:m?[m]:void 0,datePublished:g,dateModified:u,author:{"@type":"Organization",name:t.authorName||"SourceKode",url:h},publisher:{"@type":"Organization",name:"SourceKode 啟源數位科技",logo:{"@type":"ImageObject",url:`${h}/icon.png`}},mainEntityOfPage:{"@type":"WebPage","@id":o}}];t.faq&&t.faq.length&&_.push({"@context":"https://schema.org","@type":"FAQPage",mainEntity:t.faq.map(b=>({"@type":"Question",name:b.q,acceptedAnswer:{"@type":"Answer",text:b.a}}))}),B({link:[{rel:"canonical",href:o}],script:_.map(b=>({type:"application/ld+json",innerHTML:JSON.stringify(b)}))})}else T({title:"找不到文章|SourceKode",robots:"noindex"});return(t,o)=>{const r=I,c=q,m=M,g=P;return n(),a("div",z,[l(g,null,{default:x(()=>[s(e)?(n(),a("article",E,[l(c,{to:"/blog",class:"inline-flex items-center gap-2 text-sm text-ink-500 hover:text-ink-950 mb-10 transition-colors"},{default:x(()=>[l(r,{name:"mdi:arrow-left",class:"w-4 h-4"}),o[0]||(o[0]=k(" 返回部落格 ",-1))]),_:1}),i("div",Q,[s(e).categoryName?(n(),a("span",R,d(s(e).categoryName),1)):p("",!0),s(e).categoryName?(n(),a("span",W,"·")):p("",!0),i("span",null,d(D(s(e).publishedAt||s(e).createdAt)),1)]),i("h1",J,d(s(e).title),1),s(e).subTitle?(n(),a("p",G,d(s(e).subTitle),1)):p("",!0),s(e).authorName?(n(),L(c,{key:1,to:"/about/team",class:"mt-8 inline-flex items-center gap-2 text-sm text-ink-600 hover:text-ink-950 transition-colors"},{default:x(()=>[l(r,{name:"mdi:account-circle-outline",class:"w-4 h-4"}),k(" 作者 · "+d(s(e).authorName),1)]),_:1})):p("",!0),s(e).imageUrl?(n(),a("div",X,[i("img",{src:v(s(e).imageUrl),alt:s(e).title,class:"w-full h-full object-contain"},null,8,Z)])):p("",!0),i("div",tt,[s(e).content?(n(),a("div",{key:0,class:"article-body",innerHTML:s(e).content},null,8,et)):(n(),a("div",st," 尚未撰寫文章內容 "))]),s(e).faq&&s(e).faq.length?(n(),a("section",ot,[o[1]||(o[1]=i("h2",{class:"text-2xl md:text-3xl font-semibold tracking-tight text-ink-950 mb-8"}," 常見問題 ",-1)),i("div",it,[(n(!0),a(O,null,K(s(e).faq,(u,_)=>(n(),a("details",{key:_,class:"group py-5",open:_===0},[i("summary",at,[i("h3",rt,d(u.q),1),l(r,{name:"mdi:plus",class:"shrink-0 w-5 h-5 mt-0.5 text-ink-400 transition-transform group-open:rotate-45"})]),i("p",lt,d(u.a),1)],8,nt))),128))])])):p("",!0),i("div",ct,[l(m,{source:"article_footer"})]),i("div",dt,[o[3]||(o[3]=i("p",{class:"text-ink-600 leading-relaxed mb-5"}," 想了解 SourceKode 如何協助企業導入 App、Web、系統與 AI Agent? ",-1)),l(c,{to:"/contact",class:"inline-flex items-center gap-2 px-6 py-3 bg-ink-950 text-white text-sm font-medium tracking-wide rounded-md hover:bg-ink-800 hover:shadow-glow hover:-translate-y-0.5 transition-all"},{default:x(()=>[o[2]||(o[2]=k(" 聯絡我們 ",-1)),l(r,{name:"mdi:arrow-top-right",class:"w-4 h-4"})]),_:1})])])):(n(),a("div",mt,[o[5]||(o[5]=i("p",{class:"text-xs uppercase tracking-[0.25em] text-ink-500 mb-6"},"404",-1)),o[6]||(o[6]=i("h1",{class:"text-4xl md:text-5xl font-semibold tracking-tight text-ink-950 mb-8 leading-[1.1]"}," 找不到這篇文章。 ",-1)),l(c,{to:"/blog",class:"inline-flex items-center gap-2 text-sm font-medium tracking-wide text-ink-950 border-b border-ink-950 pb-1 hover:gap-3 transition-all"},{default:x(()=>[l(r,{name:"mdi:arrow-left",class:"w-4 h-4"}),o[4]||(o[4]=k(" 回部落格列表 ",-1))]),_:1})]))]),_:1})])}}}),At=Y(pt,[["__scopeId","data-v-348101d5"]]);export{At as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.