1import{d as W,e as h,c as r,a as e,f as S,v as u,E as d,D as a,B as i,F as x,A as f,G as T,a2 as O,o,x as c,H as E}from"./D-uLEkMY.js";import{u as C}from"./D6La09JW.js";import{u as R}from"./BW-h8pph.js";const P=[{slug:"yoast-seo",name:"Yoast SEO",category:"seo",tagline:"Focus keyphrases flow directly into your image alt text.",description:"When the Alt Text Studio WordPress plugin detects Yoast SEO, it automatically reads your focus keyphrase and related keyphrases (synonyms) from each post, and includes them in the alt text generated for any image attached to that post.",howItWorks:["The plugin checks for Yoast's `WPSEO_VERSION` constant on every admin load.","For each image generation, it reads `_yoast_wpseo_focuskw` and `_yoast_wpseo_keywordsynonyms` post meta from the image's parent post.","Those keyphrases are sent to our AI as SEO hints â the AI weaves them naturally into the alt text rather than stuffing them.","If no focus keyphrase is set, the post title is used as a fallback."],features:["Focus keyphrase integration","Related keyphrase (synonym) support","Post title fallback when no keyphrase is set","Works with all Yoast SEO versions (free and premium)","No configuration required"],setup:"Install Yoast SEO and Alt Text Studio. That's it. Every post you write with a focus keyphrase will automatically pass it to alt text generation for attached images.",externalUrl:"https://wordpress.org/plugins/wordpress-seo/"},{slug:"rank-math",name:"Rank Math",category:"seo",tagline:"Focus and secondary keywords, automatically in every alt text.",description:"Rank Math stores focus keywords as comma-separated values. Alt Text Studio parses them all and feeds each one to the AI when generating alt text for images attached to that post.",howItWorks:["Plugin detects Rank Math via its `RANK_MATH_VERSION` constant.","Reads `rank_math_focus_keyword` post meta and splits on commas.","All keywords are passed as SEO hints â the AI picks the most relevant ones for the visual content.","Falls back to the post title when no keywords are set."],features:["Primary + secondary keyword support","Comma-separated keyword parsing","Works with Rank Math free and Pro","Post title fallback"],setup:"Install Rank Math and Alt Text Studio. Add focus keywords to your post as usual, and they'll automatically appear in alt text for attached images.",externalUrl:"https://wordpress.org/plugins/seo-by-rank-math/"},{slug:"all-in-one-seo",name:"All in One SEO",category:"seo",tagline:"Primary and additional keyphrases, parsed from AIOSEO's JSON meta.",description:"All in One SEO stores its focus keyphrases in a JSON-encoded post meta field. Alt Text Studio parses the JSON structure and pulls both the main focus keyphrase and any additional keyphrases.",howItWorks:["Detects AIOSEO via `AIOSEO_VERSION` constant.","Reads `_aioseo_keyphrases` post meta (JSON) and decodes it.","Extracts the focus keyphrase and each additional keyphrase into an array.","Also reads the legacy `_aioseo_keywords` field for backwards compatibility."],features:["Primary focus keyphrase","Additional keyphrases support","Legacy AIOSEO keyword format support","No configuration needed"],setup:"Install All in One SEO and Alt Text Studio. Set your focus keyphrases per post and every attached image will use them automatically.",externalUrl:"https://wordpress.org/plugins/all-in-one-seo-pack/"},{slug:"seopress",name:"SEOPress",category:"seo",tagline:"Target keyphrases baked into every alt text.",description:`SEOPress calls them "target keywords." Alt Text Studio reads the target keyword post meta and passes it to our AI, ensuring every attached image's alt text aligns with your post's SEO goals.`,howItWorks:["Detects SEOPress via `SEOPRESS_VERSION`.","Reads `_seopress_analysis_target_kw` post meta.","Splits on commas if multiple target keywords are set.","Passed as seo_keywords to the generation API."],features:["Single or comma-separated target keywords","Works with SEOPress free and Pro","No plugin settings to configure"],setup:"Install SEOPress and Alt Text Studio. Your target keywords flow through automatically.",externalUrl:"https://wordpress.org/plugins/wp-seopress/"},{slug:"the-seo-framework",name:"The SEO Framework",category:"seo",tagline:"SEO title and description surface as alt text context.",description:"The SEO Framework intentionally has no focus keyword feature. Instead, Alt Text Studio reads the SEO title and meta de
1scription you've written for the post and uses them as keyword context when generating alt text.",howItWorks:["Detects TSF via `THE_SEO_FRAMEWORK_VERSION`.","Reads `_genesis_title` (or `_tsf_title_no_blogname`) and `_genesis_description` post meta.","Passes the title + description through as SEO hints for the attached image."],features:["Works with TSF's keywordless philosophy","No plugin settings to configure","Genesis-style meta keys supported automatically"],setup:"Install TSF and Alt Text Studio. Done.",externalUrl:"https://wordpress.org/plugins/autodescription/"},{slug:"smartcrawl-seo",name:"SmartCrawl SEO",category:"seo",tagline:"WPMU DEV's SEO plugin, integrated automatically.",description:"SmartCrawl from WPMU DEV stores focus keywords in a specific post meta key. Alt Text Studio reads them during generation.",howItWorks:["Detects SmartCrawl via `SMARTCRAWL_VERSION`.","Reads `_wds_focus-keywords` post meta.","Parses comma-separated keywords and passes them through."],features:["Single or multiple focus keywords","Works alongside SmartCrawl's other SEO features"],setup:"Install SmartCrawl and Alt Text Studio. No extra setup.",externalUrl:"https://wordpress.org/plugins/smartcrawl-seo/"},{slug:"squirrly-seo",name:"Squirrly SEO",category:"seo",tagline:"Squirrly's per-post focus keyword surfaces in alt text.",description:"Squirrly SEO stores its per-post focus keyword as a JSON object in post meta. Alt Text Studio decodes it and includes the keyword when generating alt text for attached images.",howItWorks:["Detects Squirrly via `SQ_VERSION`.","Reads `_sq_post_keyword` post meta and JSON-decodes the `keyword` property.","Passes the focus keyword as a SEO hint for the attached image."],features:["Focus keyword support","Works with Squirrly free and Business plans","Handles legacy raw-string storage as a fallback"],setup:"Install Squirrly and Alt Text Studio.",externalUrl:"https://wordpress.org/plugins/squirrly-seo/"},{slug:"woocommerce",name:"WooCommerce",category:"ecommerce",tagline:"Product data baked into every product-image alt text.",description:"When you upload an image to a WooCommerce product, Alt Text Studio automatically includes the product name, brand, and color attributes in the generated alt text â massively improving image search visibility and shopper context.",howItWorks:["Plugin detects WooCommerce via the `WooCommerce` class.","For product images, it calls `wc_get_product()` to fetch the product object.","Product name â `product` field in alt text generation.","Brand â from brand taxonomies (supports WooCommerce Brands, YITH Brands, Perfect Brands, `product_brand`).",'Colors â from `pa_color` taxonomy or any product attribute containing "color".',"Hooks into `woocommerce_update_product` to auto-queue generation when product images change."],features:["Product name in alt text","Brand detection across 4 brand plugins","Color attribute integration","Auto-regenerate on product save","Works for featured image + gallery"],setup:"Install WooCommerce and Alt Text Studio. Product image alt text starts using product data on the next upload.",externalUrl:"https://wordpress.org/plugins/woocommerce/"},{slug:"woocommerce-brands",name:"WooCommerce Brands",category:"ecommerce",tagline:"Official WooCommerce brand taxonomy, included in alt text.",description:"WooCommerce Brands is the official Woo brand extension. Alt Text Studio reads the `product_brand` taxonomy and includes the brand name in every product image's alt text.",howItWorks:["Plugin checks for the `product_brand` taxonomy on each product.","Reads the first assigned brand term.","Passes it as the `brand` field to the AI."],features:["Official WooCommerce Brands taxonomy support","First-assigned brand selected automatically","Falls back to other brand plugins if WC Brands isn't active"],setup:"Install WooCommerce Brands. Tag your products. Alt text picks it up automatically.",externalUrl:"https://woocommerce.com/products/brands/"},{slug:"yith-brands",name:"YITH WooCommerce Brands",category:"ecommerce",tagline:"YITH brand taxonomy integrated automatically.",description:"YITH's popular brand plugin uses the `yith_product_brand` taxonomy. Alt Text Studio reads brand terms from it automatically for every product image.",howItWorks:["Checks for `yith_product_brand` taxonomy on each product.","Reads the first assigned brand term.","Passe
1s to generation API as the `brand` field."],features:["YITH brand taxonomy support","Multi-brand support (first term used)"],setup:"Install YITH Brands Add-On. Assign brands. Done.",externalUrl:"https://yithemes.com/themes/plugins/yith-woocommerce-brands-add-on/"},{slug:"perfect-brands",name:"Perfect Brands for WooCommerce",category:"ecommerce",tagline:"Perfect Brands taxonomy automatically detected.",description:"Perfect Brands uses the `pwb-brand` taxonomy. Alt Text Studio reads it out of the box â no configuration required.",howItWorks:["Detects the `pwb-brand` taxonomy.","Reads the first assigned brand.","Passes as brand context to alt text generation."],features:["Full pwb-brand taxonomy support"],setup:"Install Perfect Brands. Assign to products.",externalUrl:"https://wordpress.org/plugins/perfect-woocommerce-brands/"},{slug:"wpml",name:"WPML",category:"multilingual",tagline:"Per-language alt text, automatically.",description:"WPML treats each translated image as a separate attachment. Alt Text Studio detects WPML and generates alt text in the correct language for every translation â and when you process the primary image, translations in every configured language fire at the same time.",howItWorks:["Plugin detects WPML via `wpml_post_language_details` filter.","For each image, reads the assigned language code and passes it to generation.","When the primary image is processed, Alt Text Studio walks sibling translations and generates alt text in each one.","Respects WPML's trid / element-translation tables for correct language mapping."],features:["Per-language alt text generation","Automatic propagation to sibling translations","Works with both WPML and WPML Media","194 languages supported"],setup:"Install WPML. Configure your site languages. Alt Text Studio takes over from there.",externalUrl:"https://wpml.org/"},{slug:"polylang",name:"Polylang",category:"multilingual",tagline:"Translations that include alt text out of the box.",description:"Polylang's clean, WordPress-native multilingual approach pairs perfectly with Alt Text Studio. Every translated image gets alt text in its assigned language automatically.",howItWorks:["Plugin detects Polylang via `pll_current_language` function.","Reads each attachment's language via `pll_get_post_language`.","On translation creation, Polylang fires `pll_save_post` â we hook in and queue generation for the new language.","`pll_get_post_translations` used to propagate when primary image is processed."],features:["Per-language alt text","Auto-generate on translation creation","Primary â translation propagation","Works with Polylang free and Pro"],setup:"Install Polylang. Configure languages. Upload and translate as usual.",externalUrl:"https://wordpress.org/plugins/polylang/"},{slug:"gutenberg",name:"Gutenberg Block Editor",category:"editor",tagline:"Generate and edit alt text without leaving the block.",description:'The Alt Text Studio WordPress plugin adds a dedicated panel to every image block. Click the plugin logo in the toolbar or use the sidebar "Alt Text Studio" panel to generate, regenerate, or edit alt text live.',howItWorks:["Hooks into the `editor.BlockEdit` filter with a higher-order component.","Adds a ToolbarButton with the plugin logo for quick access.","Adds an InspectorControls PanelBody in the sidebar with generate/regenerate buttons.","Live polling: when auto-generate is running, the panel watches for the generated alt text and auto-applies it to the block without a page refresh."],features:["Toolbar button with plugin logo","Sidebar panel with generate/regenerate buttons","Per-language translation tabs in sidebar","Live auto-sync when alt text is generated in background","Credit cost shown on every button"],setup:"Install the Alt Text Studio plugin. Gutenberg integration is active immediately â no settings to tweak.",externalUrl:"https://wordpress.org/gutenberg/"},{slug:"wp-multisite",name:"WordPress Multisite",category:"editor",tagline:"One API key across every subsite, or custom per site.",description:"Alt Text Studio is network-activate ready. Administrators get a network settings page to share one API key across all subsites, or let each site configure its own.",howItWorks:["Plugin header declares `Network: true`.","On network activation, adds a Network Admin page under Settings.","Network options: shared API key, enforce network settings, hide credit display on subsites.",'If "share key" is off, each subsite has its own settings.'],features:["Network Admin settings page","Shared API key option","Enforce network settings across subsites","Hide credit display on individual sites","Per-site overrides when sharing is off"],setup:"Network-activate from the Network Admin Plugins page. C
1onfigure under Network Admin > Settings > Alt Text Studio.",externalUrl:"https://wordpress.com/support/multisite/"},{slug:"wp-cli",name:"WP-CLI",category:"editor",tagline:"Automate alt text generation from the terminal.",description:"WP-CLI support means you can bulk-process thousands of images programmatically, integrate Alt Text Studio into your deployment pipelines, and run migrations at scale.",howItWorks:["Registers `wp alttextstudio` command when WP-CLI is detected.","Subcommands: `generate`, `status`, `credits`.","Batches images and respects rate limits.","Supports `--dry-run`, `--force`, `--limit`, `--batch-size`, and `--porcelain` flags."],features:["`wp alttextstudio generate` â process images in bulk","`wp alttextstudio status` â show plugin config and missing-alt counts","`wp alttextstudio credits` â check your credit balance","Machine-readable output with --porcelain","Safe for deploy scripts and cron jobs"],setup:"WP-CLI must be installed on your server (most managed hosts include it). Install the plugin, then run `wp alttextstudio status` to verify.",externalUrl:"https://wp-cli.org/"},{slug:"media-library",name:"Media Library",category:"editor",tagline:"Custom column, missing-alt filter, bulk actions.",description:"Alt Text Studio adds a dedicated column to the WordPress Media Library showing each image's alt text status (success, failed, queued, missing). Bulk-select and generate right from the list view.",howItWorks:["Hooks into `manage_upload_columns` to add the status column.",'Adds a "Missing alt text" filter to the list view dropdown.',"Registers bulk actions via `bulk_actions-upload` filter.","Adds per-row Generate/Regenerate action via AJAX."],features:["Alt text status column","Missing-alt filter dropdown","Bulk action: Generate alt text for selected","Per-row Generate/Regenerate button","Works with list and grid view"],setup:"No setup â visible the moment you install and activate Alt Text Studio.",externalUrl:"https://wordpress.org/support/article/media-library-screen/"}];function M(y){return P.find(g=>g.slug===y)}const A={seo:"SEO Plugin",ecommerce:"E-commerce",multilingual:"Multilingual",editor:"Editor & Workflow"},B={key:0,class:"bg-canvas text-foreground flex min-h-screen w-full flex-col items-center py-12"},N={class:"w-full px-4 pt-24 sm:px-6 lg:px-8"},L={class:"mx-auto max-w-5xl"},U={class:"text-muted mb-6 flex items-center gap-2 text-sm","aria-label":"Breadcrumb"},F={class:"text-foreground font-medium"},H={class:"w-full px-4 pb-12 sm:px-6 lg:px-8"},V={class:"mx-auto max-w-5xl"},q={class:"mb-4 flex items-center gap-4"},D=["src"],Y={key:1,viewBox:"0 0 122.52 122.523",class:"h-14 w-14 flex-shrink-0 text-[#21759b]","aria-hidden":"true"},z={key:2,viewBox:"0 0 24 24",class:"h-14 w-14 flex-shrink-0 text-[#96588A]","aria-hidden":"true"},G={key:3,class:"bg-surface-2 flex h-14 w-14 flex-shrink-0 items-center justify-center rounded-xl text-xl font-bold","aria-hidden":"true"},j={class:"mb-1 inline-flex items-center gap-2"},J={class:"text-muted text-xs font-semibold uppercase tracking-wide"},$={class:"text-foreground text-4xl font-bold tracking-tight sm:text-5xl"},K={class:"text-muted mb-6 max-w-3xl text-lg"},Q={class:"flex flex-wrap gap-3"},X=["href"],Z={class:"w-full px-4 py-6 sm:px-6 lg:px-8"},ee={class:"mx-auto max-w-5xl"},te={class:"border-border bg-surface rounded-2xl border p-8 shadow-sm"},se={class:"text-muted"},ae={class:"w-full px-4 py-6 sm:px-6 lg:px-8"},oe={class:"mx-auto max-w-5xl"},re={class:"border-border bg-surface rounded-2xl border p-8 shadow-sm"},ne={class:"text-muted space-y-3 pl-5"},ie=["innerHTML"],le={class:"w-full px-4 py-6 sm:px-6 lg:px-8"},de={class:"mx-auto max-w-5xl"},ue={class:"border-border bg-surface rounded-2xl border p-8 shadow-sm"},ce={class:"grid gap-3 sm:grid-cols-2"},pe={class:"w-full px-4 py-6 sm:px-6 lg:px-8"},ge={class:"mx-auto max-w-5xl"},me={class:"border-brand-purple/30 bg-gradient-to-r from-brand-purple/5 via-brand-blue/5 to-brand-lavender/5 rounded-2xl border p-8"},he={class:"text-muted mb-4"},xe={key:0,class:"w-full px-4 py-12 sm:px-6 lg:px-8"},fe={class:"mx-auto max-w-5xl"},ye={class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3"},we={class:"text-muted mb-1 text-xs font-semibold uppercase tracking-wide"},be={class:"text-foreground font-semibold"},ke={class:"text-muted mt-1 line-clamp-2 text-xs"},_e={class:"w-full px-4 pb-20 pt-6 sm:px-6 lg:px-8"},ve={class:"border-border bg-surface mx-auto max-w-4xl rounded-2xl border p-10 text-center shadow-lg"},Se={class:"text-foreground mb-4 text-3xl font-bold tracking-tight"},Ae={class:"text-muted mx-auto mb-8 max-w-xl"},Pe={class:"flex flex-wrap justify-center gap-4"},Ie={key:1,class:"bg-canvas text-foreground flex min-h-screen w-full items-center justify-center px-4 py-24"},We={class:"text-center"}
1,Ce=W({__name:"[slug]",setup(y){const g=O(),w=h(()=>String(g.params.slug||"")),s=h(()=>M(w.value)),{iconType:b,currentUrl:k,handleError:_}=C(w),v=h(()=>s.value?P.filter(p=>p.category===s.value.category&&p.slug!==s.value.slug).slice(0,3):[]);function I(p){return p.replace(/`([^`]+)`/g,'<code class="bg-surface-2 text-foreground rounded px-1 py-0.5 font-mono text-xs">$1</code>')}return R(()=>s.value?{title:`${s.value.name} Integration`,meta:[{name:"description",content:s.value.tagline+" "+s.value.description.slice(0,120)},{property:"og:title",content:`${s.value.name} + Alt Text Studio`},{property:"og:description",content:s.value.tagline}],link:[{rel:"canonical",href:`https://alttextstudio.com/integrations/${s.value.slug}`}]}:{title:"Integration not found",meta:[{name:"robots",content:"noindex"}]}),(p,t)=>{const l=T;return s.value?(o(),r("div",B,[e("section",N,[e("div",L,[e("nav",U,[u(l,{to:"/integrations",class:"hover:text-foreground"},{default:d(()=>t[1]||(t[1]=[c("Integrations",-1)])),_:1,__:[1]}),t[2]||(t[2]=e("span",{"aria-hidden":"true"},"/",-1)),e("span",F,a(s.value.name),1)])])]),e("section",H,[e("div",V,[e("div",q,[i(k)?(o(),r("img",{key:0,src:i(k),alt:"",class:"h-14 w-14 flex-shrink-0 rounded-xl object-contain shadow-sm",onError:t[0]||(t[0]=(...n)=>i(_)&&i(_)(...n)),loading:"lazy"},null,40,D)):i(b)==="wp-core"?(o(),r("svg",Y,t[3]||(t[3]=[e("path",{fill:"currentColor",d:"M61.262 0C27.483 0 0 27.481 0 61.26c0 33.783 27.483 61.263 61.262 61.263 33.777 0 61.261-27.48 61.261-61.263C122.523 27.481 95.039 0 61.262 0zm0 119.663c-32.2 0-58.403-26.2-58.403-58.403 0-32.2 26.201-58.406 58.403-58.406 32.2 0 58.398 26.206 58.398 58.406 0 32.203-26.198 58.403-58.398 58.403zM8.708 61.26c0-7.642 1.657-14.9 4.55-21.388l25.069 68.686C20.797 100.039 8.708 82.062 8.708 61.26zM96.74 58.608c0-6.495-2.333-10.993-4.334-14.494-2.664-4.329-5.161-7.995-5.161-12.324 0-4.831 3.664-9.328 8.825-9.328.233 0 .454.029.681.042-9.35-8.566-21.807-13.796-35.489-13.796-18.36 0-34.513 9.42-43.91 23.688 1.233.037 2.395.063 3.382.063 5.497 0 14.006-.667 14.006-.667 2.833-.167 3.167 3.994.337 4.329 0 0-2.847.335-6.015.501l19.138 56.925 11.5-34.49-8.185-22.432c-2.83-.166-5.511-.501-5.511-.501-2.832-.166-2.5-4.496.332-4.329 0 0 8.679.667 13.843.667 5.496 0 14.006-.667 14.006-.667 2.835-.167 3.168 3.994.337 4.329 0 0-2.853.335-6.015.501l18.992 56.494 5.242-17.517c2.273-7.271 4.005-12.495 4.005-16.994zM62.184 66.192l-15.768 45.817c4.708 1.384 9.687 2.141 14.846 2.141 6.12 0 11.989-1.058 17.452-2.979a5.495 5.495 0 0 1-.374-.724L62.184 66.192zm45.192-29.634c.226 1.674.354 3.471.354 5.404 0 5.333-.996 11.328-3.996 18.824l-16.053 46.413c15.624-9.111 26.133-26.038 26.133-45.428 0-9.136-2.334-17.775-6.438-25.213z"},null,-1)]))):i(b)==="commercial"?(o(),r("svg",z,t[4]||(t[4]=[e("path",{fill:"currentColor",d:"M13 2a3 3 0 0 0-3 3v1H6a2 2 0 0 0-2 2v4h1a2 2 0 1 1 0 4H4v4a2 2 0 0 0 2 2h4v-1a2 2 0 1 1 4 0v1h4a2 2 0 0 0 2-2v-4h-1a2 2 0 1 1 0-4h1V8a2 2 0 0 0-2-2h-4V5a3 3 0 0 0-3-3z"},null,-1)]))):(o(),r("span",G,a(s.value.name.charAt(0)),1)),e("div",null,[e("div",j,[t[5]||(t[5]=e("span",{class:"h-2 w-2 rounded-full bg-green-500","aria-hidden":"true"},null,-1)),e("span",J," Automatic â "+a(i(A)[s.value.category]),1)]),e("h1",$,a(s.value.name),1)])]),e("p",K,a(s.value.tagline),1),e("div",Q,[u(l,{to:"/wordpress-plugin",class:"bg-accent text-on-accent inline-flex items-center gap-2 rounded-lg px-5 py-2.5 text-sm font-semibold hover:opacity-95"},{default:d(()=>t[6]||(t[6]=[c(" Get the WordPress Plugin ",-1)])),_:1,__:[6]}),s.value.externalUrl?(o(),r("a",{key:0,href:s.value.externalUrl,target:"_blank",rel:"noopener",class:"border-border bg-surface text-foreground hover:bg-surface-2 inline-flex items-center gap-2 rounded-lg border px-5 py-2.5 text-sm font-semibold"}," Visit "+a(s.value.name)+" â ",9,X)):S("",!0)])])]),e("section",Z,[e("div",ee,[e("div",te,[t[7]||(t[7]=e("h2",{class:"text-foreground mb-3 text-2xl font-bold"},"How it integrates",-1)),e("p",se,a(s.value.description),1)])])]),e("section",ae,[e("div",oe,[e("div",re,[t[8]||(t[8]=e("h2",{class:"text-foreground mb-4 text-2xl font-bold"},"Under the hood",-1)),e("ol",ne,[(o(!0),r(x,null,f(s.value.howItWorks,(n,m)=>(o(),r("li",{key:m,class:"list-decimal pl-2 leading-relaxed"},[e("span",{innerHTML:I(n)}
1,null,8,ie)]))),128))])])])]),e("section",le,[e("div",de,[e("div",ue,[t[10]||(t[10]=e("h2",{class:"text-foreground mb-4 text-2xl font-bold"},"What you get",-1)),e("ul",ce,[(o(!0),r(x,null,f(s.value.features,(n,m)=>(o(),r("li",{key:m,class:"text-muted flex items-start gap-2 text-sm"},[t[9]||(t[9]=e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",class:"text-accent mt-0.5 h-4 w-4 flex-shrink-0","aria-hidden":"true"},[e("path",{"fill-rule":"evenodd",d:"M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z","clip-rule":"evenodd"})],-1)),e("span",null,a(n),1)]))),128))])])])]),e("section",pe,[e("div",ge,[e("div",me,[t[12]||(t[12]=e("h2",{class:"text-foreground mb-3 text-2xl font-bold"},"Setup",-1)),e("p",he,a(s.value.setup),1),u(l,{to:"/wordpress-plugin",class:"text-accent inline-flex items-center gap-1 text-sm font-semibold hover:opacity-80"},{default:d(()=>t[11]||(t[11]=[c(" See full setup instructions â ",-1)])),_:1,__:[11]})])])]),v.value.length?(o(),r("section",xe,[e("div",fe,[t[13]||(t[13]=e("h2",{class:"text-foreground mb-6 text-2xl font-bold"},"Related integrations",-1)),e("div",ye,[(o(!0),r(x,null,f(v.value,n=>(o(),E(l,{key:n.slug,to:`/integrations/${n.slug}`,class:"border-border bg-surface rounded-xl border p-4 shadow-sm transition-all hover:shadow-md"},{default:d(()=>[e("div",we,a(i(A)[n.category]),1),e("div",be,a(n.name),1),e("div",ke,a(n.tagline),1)]),_:2},1032,["to"]))),128))])])])):S("",!0),e("section",_e,[e("div",ve,[e("h2",Se," Try it with your "+a(s.value.name)+" setup ",1),e("p",Ae," Install the Alt Text Studio WordPress plugin â "+a(s.value.name)+" integration lights up automatically. ",1),e("div",Pe,[u(l,{to:"/sign-up",class:"bg-accent text-on-accent rounded-lg px-6 py-3 text-sm font-semibold hover:opacity-95"},{default:d(()=>t[14]||(t[14]=[c(" Create Free Account ",-1)])),_:1,__:[14]}),u(l,{to:"/wordpress-plugin",class:"border-border bg-surface text-foreground hover:bg-surface-2 rounded-lg border px-6 py-3 text-sm font-semibold"},{default:d(()=>t[15]||(t[15]=[c(" WordPress Plugin Details ",-1)])),_:1,__:[15]})])])])])):(o(),r("div",Ie,[e("div",We,[t[17]||(t[17]=e("h1",{class:"text-foreground mb-3 text-3xl font-bold"},"Integration not found",-1)),t[18]||(t[18]=e("p",{class:"text-muted mb-6"},"The integration you're looking for doesn't exist.",-1)),u(l,{to:"/integrations",class:"bg-accent text-on-accent inline-block rounded-lg px-6 py-3 text-sm font-semibold hover:opacity-95"},{default:d(()=>t[16]||(t[16]=[c(" Browse all integrations ",-1)])),_:1,__:[16]})])]))}}});
1export{Ce 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.