PageSourceSearch

https://ekeltechnology.com/assets/page-BVqCm2dK.js

js ekeltechnology.com collected 2026-09-29 16:47:44 UTC 10,800 bytes, 1 lines download raw bytes

1import{u as j,r as o,j as e,b as v,L as u,l as f}from"./index-nFHsJyMU.js";import{T as N,H as w,F as k}from"./TopBar-CQJAnULU.js";import{B as y}from"./BigCTA-QwNehWQD.js";import{P as S}from"./PageHero-vXknW4u5.js";import{u as A}from"./useBlogPosts-BKtBaugA.js";import{l as I}from"./supabase-CB2OAbom.js";import{u as F}from"./useReveal-CEWQ3zsu.js";import{u as z}from"./seo-2VazPKYZ.js";import"./ThreadField-DQWBoSrt.js";const g={fontFamily:'Georgia, "Times New Roman", serif',color:"var(--accent)",userSelect:"none",lineHeight:1},T=["AI 不是魔法,是流程。","先把知識整理好,再談模型。","Demo 很順 ≠ 能上線。","不寫趨勢文,只寫踩過的坑。","值得記下來的東西。"],E=["AI is not magic. It is process.","Fix the knowledge before the model.","A smooth demo is not a launch.","No trend posts. Only potholes we hit.","Things worth remembering."],R=[{cls:"ed-col-1",x:"right-[8%]",zh:e.jsxs(e.Fragment,{children:["讓 ",e.jsx("em",{children:"AI agent"})," 接進審批與客服流程。 ",e.jsx("em",{children:"Agentic Coding"}),":4 週交付三端的實戰。 把重複的人工操作交給 ",e.jsx("em",{children:"workflow automation"}),"。 "]}),en:e.jsxs(e.Fragment,{children:["Putting ",e.jsx("em",{children:"AI agents"})," inside approvals and service. ",e.jsx("em",{children:"Agentic Coding"}),": three platforms in four weeks. Handing repetitive work to ",e.jsx("em",{children:"workflow automation"}),". "]})},{cls:"ed-col-2",x:"right-[38%]",zh:e.jsxs(e.Fragment,{children:[e.jsx("em",{children:"RAG"})," 讓知識庫自己回答問題。 先整理知識,再談模型。 ",e.jsx("em",{children:"LLM"})," 不是魔法,是流程。 "]}),en:e.jsxs(e.Fragment,{children:[e.jsx("em",{children:"RAG"})," that answers from your own knowledge. Fix the knowledge before the model. An ",e.jsx("em",{children:"LLM"})," is not magic. It is process. "]})},{cls:"ed-col-3",x:"right-[68%]",zh:e.jsxs(e.Fragment,{children:["把 ",e.jsx("em",{children:"Salesforce"})," 與 ",e.jsx("em",{children:"monday.com"})," 串成一條流程。 ",e.jsx("em",{children:"CRM"}),"、審批、客服,同一條資料流。 SaaS 的價值在整合,不在訂閱。 "]}),en:e.jsxs(e.Fragment,{children:["Wiring ",e.jsx("em",{children:"Salesforce"})," and ",e.jsx("em",{children:"monday.com"})," into one flow. ",e.jsx("em",{children:"CRM"}),", approvals, service — one stream of data. SaaS earns its keep in integration. "]})}];function _(){const{i18n:x}=j(),a=x.language.startsWith("en"),n=a?E:T,[c,m]=o.useState(0);return o.useEffect(()=>{if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const i=window.setInterval(()=>m(l=>(l+1)%n.length),3400);return()=>window.clearInterval(i)},[n.length]),e.jsxs("div",{className:"absolute inset-0",children:[e.jsx("div",{className:"absolute right-0 top-0 h-full w-[46%] overflow-hidden hidden md:block","aria-hidden":"true",children:R.map(r=>{const i=a?r.en:r.zh;return e.jsx("div",{className:`ed-col ${r.cls} ${r.x} h-full`,children:e.jsxs("span",{className:`text-[22px] leading-[2.2] text-ink/[0.07] ${a?"font-serif italic tracking-[3px]":"font-cnSerif tracking-[6px]"}`,children:[i,i]})},r.cls)})}),e.jsx("span",{className:"hero-insights-float-1 absolute right-[60px] top-[20px] text-[180px] font-bold",style:g,children:"“"}),e.jsx("span",{className:"hero-insights-float-2 absolute right-[260px] top-[140px] text-[140px] font-bold",style:g,children:"“"}),e.jsx("span",{className:"hero-insights-float-3 absolute right-[120px] bottom-[20px] text-[120px] font-bold",style:g,children:"“"}),e.jsxs("div",{className:"hero-insights-note absolute right-[64px] top-[300px] w-[280px] text-right hidden lg:block",children:[e.jsxs("div",{className:"font-mono text-[10px] tracking-[2px] uppercase text-text-quiet/80 mb-2 flex items-center gap-2 justify-end",children:[e.jsx("span",{className:"w-6 h-px bg-accent inline-block"}),e.jsx("span",{children:a?"note":"筆記"})]}),e.jsx("div",{className:"relative h-[34px] pr-3 border-r-2 border-accent/60",children:n.map((r,i)=>e.jsxs("p",{className:`hero-insights-fragment absolute inset-0 text-right text-[15px] leading-[34px] text-ink/70 pr-3 m-0 ${a?"italic":"font-cnSerif"}`,style:{opacity:i===c?1:0,transform:i===c?"translateY(0)":"translateY(6px)"},children:[r,i===c&&e.jsx("span",{className:"hero-insights-caret","aria-hidden":"true",children:"▌"})]},r))})]})]})}const C=[{value:"全部",zh:"全部",en:"All"},{value:"AI 趨勢",zh:"AI 趨勢",en:"AI Trends"},{value:"技術洞察",zh:"技術洞察",en:"Technical Insights"},{value:"產業應用",zh:"產業應用",en:"Industry Applications"},{value:"數位轉型",zh:"數位轉型",en:"Digital Transformation"}],D=()=>{F();const{i18n:x}=j(),{isEn:a,pick:n,pickNode:c}=v(),{fetchPublishedPosts:m}=A(),[r,i]=o.useState([]),[l,b]=o.useState("全部");o.useEffect(()=>{document.title=a?"Insights — EKel Technology":"觀點 — 易凱科技 EKel",z("/insights")},[a]),o.useEffect(()=>{m().then(i).catch(()=>i([]))},[m]);const d=o.useMemo(()=>r.map(t=>({...t,...I(t,x.language)})),[r,x.language]),h=o.useMemo(()=>l==="全部"?d:d.filter(t=>t.category_key===l),[d,l]),s=o.useMemo(()=>
1d[0]??null,[d]),p=o.useMemo(()=>l!=="全部"?h:h.filter(t=>t.slug!==s?.slug),[h,l,s]);return e.jsxs(e.Fragment,{children:[e.jsx(N,{}),e.jsx(w,{}),e.jsx(S,{crumbs:[{label:n("首頁","Home"),to:"/"},{label:n("觀點 / Insights","Insights")}],title:c(e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"accent-cn",children:"來自工作現場"}),"的",e.jsx("br",{}),"長文與筆記。"]}),e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"accent-cn",children:"Field notes"}),e.jsx("br",{}),"from real delivery."]})),lead:n("寫給決策者的 AI × SaaS 技術長文:AI agent 怎麼接進 CRM 與審批、RAG 怎麼真的落地、Salesforce 與 monday.com 怎麼串成一條流程。不寫趨勢文,只寫實戰。","Long-form notes for decision makers on AI × SaaS: how agents plug into CRM and approvals, how RAG lands in production, how Salesforce and monday.com connect into one flow. No trend posts — just practice."),decoration:e.jsx(_,{})}),s&&l==="全部"&&e.jsx("section",{className:"bg-paper border-b border-line py-16",children:e.jsx("div",{className:"container",children:e.jsxs(u,{to:f(`/insights/${s.slug}`,a),className:"reveal spot spot-dark grid grid-cols-[1.6fr_1fr] gap-8 md:gap-16 items-center bg-ink text-paper rounded-2xl md:rounded-3xl p-7 md:p-14 relative overflow-hidden no-underline text-inherit max-[900px]:grid-cols-1",children:[e.jsx("div",{className:"absolute -bottom-[150px] -right-[150px] w-[400px] h-[400px] rounded-full opacity-25 blur-[50px] bg-accent pointer-events-none"}),e.jsxs("div",{className:"relative z-10",children:[e.jsxs("div",{className:"font-mono text-[11px] tracking-[1.5px] text-accent mb-6 flex gap-3 items-center flex-wrap",children:[e.jsx("span",{className:"px-2.5 py-1 border border-accent rounded text-[10px]",children:n("封面文章","Featured")}),e.jsx("span",{children:s.date}),e.jsx("span",{children:s.category}),e.jsx("span",{children:s.read_time})]}),e.jsx("h2",{className:"text-[clamp(32px,4vw,56px)] font-bold tracking-[-0.025em] leading-[1.2] mb-5",children:s.title}),e.jsx("p",{className:"text-base md:text-[17px] leading-[1.75] md:leading-[1.85] text-paper/75 mb-6 md:mb-7 max-w-[560px]",children:s.excerpt}),e.jsxs("div",{className:"flex gap-3 items-center text-[13px] text-paper/70",children:[e.jsx("div",{className:"w-9 h-9 rounded-full bg-gradient-to-br from-ink-3 to-ink border border-accent"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-paper font-semibold",children:s.author}),e.jsx("div",{className:"text-xs",children:s.author_role})]})]})]}),e.jsx("div",{className:"relative z-10 max-[900px]:mt-2",children:s.cover_image?e.jsx("img",{src:s.cover_image,alt:s.title,className:"w-full aspect-[16/9] object-cover rounded-xl border border-ink-3",loading:"lazy"}):e.jsxs("div",{className:"border-l border-ink-3 pl-8 max-[900px]:border-l-0 max-[900px]:border-t max-[900px]:pl-0 max-[900px]:pt-6",children:[e.jsx("div",{className:"text-[10px] font-medium tracking-[2px] uppercase text-accent mb-4",children:n("本篇摘要","Summary")}),e.jsx("p",{className:"text-[14px] leading-[1.7] text-paper/85 m-0 font-cnSerif",children:s.subtitle})]})})]})})}),e.jsx("section",{className:"py-12 md:py-20",children:e.jsxs("div",{className:"container",children:[e.jsx("div",{className:"flex gap-3 mb-12 flex-wrap",children:C.map(t=>e.jsx("button",{onClick:()=>b(t.value),className:`text-[13px] font-medium px-4 py-2 rounded-full border transition-colors ${l===t.value?"bg-ink text-paper border-ink":"bg-transparent text-text-soft border-line hover:border-ink hover:text-ink"}`,children:a?t.en:t.zh},t.value))}),e.jsx("div",{className:"stagger flex flex-col",children:p.length===0?e.jsx("div",{className:"py-16 text-center text-text-quiet text-sm",children:r.length===0?n("文章載入中…","Loading articles..."):n("此分類目前沒有文章。","No articles in this category yet.")}):p.map(t=>e.jsxs(u,{to:f(`/insights/${t.slug}`,a),className:"group grid grid-cols-[200px_1fr_180px] gap-10 items-start py-8 border-t border-line first:border-t-0 last:border-b last:border-line hover:pl-4 transition-[padding] no-underline text-inherit max-[900px]:grid-cols-1 max-[900px]:gap-4",children:[t.cover_image?e.jsx("img",{src:t.cover_image,alt:t.title,className:"w-full aspect-[16/9] object-cover rounded-lg border border-line bg-mist",loading:"lazy"}):e.jsx("div",{className:"w-full aspect-[16/9] rounded-lg border border-line bg-mist"}),e.jsxs("div",{children:[e.jsx("div",{className:"font-mono text-xs tracking-[1px] text-text-quiet mb-2 max-[900px]:hidden",children:t.date}),e.jsx("h3",{className:"text-[20px] md:text-[26px] font-semibold tracking-[-0.3px] leading-[1.35] mb-3 group-hover:text-accent transition-colors",children:t.title}),e.jsx("div",{className:"text-sm md:text-[15px] leading-[1.7] text-text-soft max-w-[680px]",children:t.excerpt})]}),e.jsxs("div",{className:"text-xs text-text-quiet text-right leading-[1.7] max-[900px]:text-left",children:[e.jsx("div",{className:"hidden max-[900px]:block font-mono mb-1",children:t.date}),e.jsxs("div",{children:[t.category," · ",t.read_time]}
1),e.jsx("div",{className:"text-ink font-medium mt-0.5",children:t.author})]})]},t.slug))},`${l}-${p.length}`)]})}),e.jsx(y,{heading:n("想第一時間收到新文章?","Want new essays first?"),body:n("每兩週一篇深度長文,由 CTA 親自寫。沒有 SEO 廢文,沒有電子報行銷,只有真正從專案裡學到的東西。可以隨時取消訂閱。","A deep essay every two weeks, written by a CTA. No SEO filler, no newsletter marketing, only lessons from real projects. Unsubscribe anytime.")}),e.jsx(k,{})]})};export{D 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.