PageSourceSearch

https://martingruner.com/assets/page-B5h_A_Ln2.js

js martingruner.com collected 2026-09-25 14:51:23 UTC 3,800 bytes, 1 lines download raw bytes

1import{m as x,n as f,p as d,t as n}from"./app-qL4Wr7uN.js";import{t as g}from"./json-ld-BlBI9Qvi.js";import{t as b}from"./next-navigation-D-EgNJVb.js";import{n as $}from"./search-pages-1_kVXiFb.js";import{r as w}from"./studio-sales-DAHAkWxR.js";import{t as p}from"./product-presentations-Cxrra912.js";import{t as y}from"./metadata-D2QhD1ps.js";import{r as c}from"./product-topics-rsIoMRve.js";import{t as P}from"./product-subpage-header-BTlN3Akp.js";var e=f();function L(){return x.map(a=>({slug:a.slug}))}async function M({params:a}){const{slug:s}=await a,t=d(s),r=p(s);return!t||!r?{}:y(t,{title:`${t.name} capabilities and features`,description:r.capabilitiesIntro,path:`/projects/${s}/capabilities`})}async function T({params:a}){const{slug:s}=await a,t=d(s),r=p(s);(!t||!r)&&b();const h=$(s),u=s==="screenshot-studio"?"Everything your app screenshot set needs":s==="diffanything"?"Compare more than text":`${t.name} capabilities`,m=s==="diffanything"?"Compare code, structured data, spreadsheets, folders, archives, documents, images, APIs, and binaries locally—with a view built for each.":r.capabilitiesIntro;return(0,e.jsxs)("main",{className:`product-topic-page product-page-${r.variant}`,style:{"--product-color":t.color,"--product-tint":t.tint},children:[(0,e.jsx)(g,{data:{"@context":"https://schema.org","@type":"CollectionPage",name:`${t.name} capabilities`,description:r.capabilitiesIntro,url:`https://martingruner.com/projects/${s}/capabilities`,hasPart:t.features.map(i=>({"@type":"WebPage",name:i.title,description:i.description,url:`https://martingruner.com/projects/${s}/capabilities/${c(i.title)}`}))}}),(0,e.jsx)(P,{product:t,section:"capabilities",title:u,description:m}),(0,e.jsx)("section",{className:"topic-intro shell",children:(0,e.jsx)("p",{children:t.overview[0]})}),(0,e.jsx)("section",{className:"capability-list shell","aria-label":`${t.name} feature list`,children:t.features.map((i,o)=>{const j=t.workflow[o%t.workflow.length],l=t.useCases[o%t.useCases.length];return(0,e.jsxs)("article",{children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("h2",{children:(0,e.jsx)(n,{href:`/projects/${s}/capabilities/${c(i.title)}`,children:i.title})}),(0,e.jsx)("p",{children:i.description}),(0,e.jsxs)(n,{className:"topic-detail-link",href:`/projects/${s}/capabilities/${c(i.title)}`,children:["Read the complete feature guide ",(0,e.jsx)("span",{"aria-hidden":"true",children:"→"})]})]}),(0,e.jsxs)("dl",{children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("dt",{children:"In the workflow"}),(0,e.jsx)("dd",{children:j.title})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("dt",{children:"Useful for"}),(0,e.jsx)("dd",{children:(0,e.jsx)(n,{href:`/projects/${s}/use-cases/${c(l.title)}`,children:l.title})})]})]})]},i.title)})}),(0,e.jsxs)("section",{className:"capability-search-links shell",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"detail-kicker",children:"Tools by task"}),(0,e.jsx)("h2",{children:"Start with the job you need to do."}),(0,e.jsxs)("p",{children:["Choose a task to see how ",t.name," handles it, with practical steps, examples, and the relevant guide."]})]}),(0,e.jsx)("div",{children:h.map(i=>(0,e.jsxs)(n,{href:`/projects/${s}/tools/${i.slug}`,children:[(0,e.jsx)("span",{children:i.primaryKeyword}),(0,e.jsx)("strong",{children:i.heading}),(0,e.jsx)("b",{"aria-hidden":"true",children:"→"})]},i.slug))})]}),(0,e.jsxs)("section",{className:"topic-next shell",children:[(0,e.jsx)("p",{children:"See these capabilities in context."}),(0,e.jsxs)(n,{className:"button button-product",href:`/projects/${s}/use-cases`,children:["Explore ",t.name," use cases ",(0,e.jsx)("span",{"aria-hidden":"true",children:"→"})]})]}),s==="screenshot-studio"&&(0,e.jsx)(w,{product:t})]})}export{T as default,M as generateMetadata,L as generateStaticParams};

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.