1import { Q as Fragment, Vt as unref, Wt as toDisplayString, at as createStaticVNode, bt as renderList, et as computed, it as createElementBlock, lt as defineComponent, n as _plugin_vue_export_helper_default, ot as createTextVNode, st as createVNode, tt as createBaseVNode, vt as openBlock } from "./chunks/framework.BcTgqkOM.js"; 2import { r as VPButton_default } from "./chunks/theme.C9nNPQm8.js"; 3import "./chunks/assets.Bhb8oAIS.js"; 4//#region .vitepress/theme/components/BlueskyQuotes.vue?vue&type=script&setup=true&lang.ts 5var _hoisted_1$1 = { class: "bluesky-quotes" }; 6var _hoisted_2 = ["href"]; 7var _hoisted_3 = ["src", "alt"]; 8var _hoisted_4 = { class: "author-info" }; 9var _hoisted_5 = { class: "name" }; 10var _hoisted_6 = { class: "handle" }; 11var _hoisted_7 = { class: "quote-text" }; 12//#endregion 13//#region .vitepress/theme/components/BlueskyQuotes.vue 14var BlueskyQuotes_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({ 15 __name: "BlueskyQuotes", 16 props: { quotes: {} }, 17 setup(__props) { 18 const props = __props; 19 const quotesWithValid = computed(() => { 20 return props.quotes.filter((q) => q.link && q.avatar && q.name && q.handle && q.text); 21 }); 22 return (_ctx, _cache) => { 23 return openBlock(), createElementBlock("div", _hoisted_1$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(quotesWithValid.value, (quote, index) => { 24 return openBlock(), createElementBlock("div", { 25 key: index, 26 class: "quote-card" 27 }, [createBaseVNode("a", { 28 href: quote.link, 29 target: "_blank", 30 rel: "noopener noreferrer nofollow", 31 class: "quote-header" 32 }, [createBaseVNode("img", { 33 src: quote.avatar, 34 alt: `${quote.name}âs avatar`, 35 class: "avatar" 36 }, null, 8, _hoisted_3), createBaseVNode("div", _hoisted_4, [createBaseVNode("div", _hoisted_5, toDisplayString(quote.name), 1), createBaseVNode("div", _hoisted_6, "@" + toDisplayString(quote.handle), 1)])], 8, _hoisted_2), createBaseVNode("div", _hoisted_7, toDisplayString(quote.text), 1)]); 37 }), 128))]); 38 }; 39 } 40}), [["__scopeId", "data-v-0766aac4"]]); 41//#endregion 42//#region src/en/index.md 43var _hoisted_1 = { class: "buttons" }; 44var __pageData = JSON.parse("{\"title\":\"Sveltia CMS â Free, open source, Git-based headless CMS\",\"titleTemplate\":false,\"description\":\"Simple, zero-maintenance setup for SMBs, nonprofits and developers. Modern, direct replacement for Netlify/Decap CMS with superior UX, DX and i18n support.\",\"frontmatter\":{\"layout\":\"home\",\"titleTemplate\":false,\"title\":\"Sveltia CMS â Free, open source, Git-based headless CMS\",\"description\":\"Simple, zero-maintenance setup for SMBs, nonprofits and developers. Modern, direct replacement for Netlify/Decap CMS with superior UX, DX and i18n support.\",\"hero\":{\"name\":\"Sveltia CMS\",\"text\":\"Git-based headless CMS, made right.\",\"tagline\":\"Simple, modern, powerful, open source: best free CMS for SMBs, nonprofits and developers\",\"image\":{\"src\":\"/images/logo/sveltia-logo.svg\",\"alt\":\"\"},\"actions\":[{\"theme\":\"brand\",\"text\":\"What is Sveltia CMS?\",\"link\":\"/en/docs/intro\"},{\"theme\":\"alt\",\"text\":\"Showcase\",\"link\":\"/en/showcase\"},{\"theme\":\"alt\",\"text\":\"Get Started\",\"link\":\"/en/docs/start\"}]},\"features\":[{\"icon\":\"ð\",\"title\":\"Successor to Netlify CMS\",\"details\":\"A direct replacement for Netlify CMS and Decap CMS offering numerous improvements\"},{\"icon\":\"ð\",\"title\":\"Maintenance-Free Setup\",\"details\":\"Git workflow, YAML config file, CDN-served app â no database, server or build tool required\"},{\"icon\":\"ð¨\",\"title\":\"Modern & Intuitive UI\",\"details\":\"Clean, user-friendly interface providing dark mode, keyboard shortcuts and mobile support\"},{\"icon\":\"ð¼ï¸\",\"title\":\"Digital Asset Management\",\"details\":\"A full-fledged asset library, external media storage and stock photo integrations\"},{\"icon\":\"ð\",\"title\":\"First-Class I18n Support\",\"details\":\"Built-in multilingual content management and one-click AI-powered translation\"},{\"icon\":\"ð§©\",\"title\":\"Framework-Agnostic\",\"details\":\"Works with Astro, Eleventy, Hugo, Next.js and more, as well as with vanilla JavaScript\"},{\"icon\":\"ð ï¸\",\"title\":\"Reimagined DX\",\"details\":\"Extensive documentation, JSON schema, TypeScript-enabled API, AI tools, local workflow\"},{\"icon\":\"ð¥\",\"title\":\"Popular Jamstack Choice\",\"details\":\"Industry-leading showcase featuring hundreds of real-world examples, updated daily\"}],\"quotes\":[{\"name\":\"Jay Campbell\",\"handle\":\"aftertime.com\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:2xxhriylkh5tj72t6i7sbtkm/bafkreicfmpw2fmjuneku2v3ktpv2ks6thtjjwmucq6kbbve6wynuihn5iy\",\"text\":\"Spent the weekend building a no-cost, secure web site using Cloudflare Pages, GitHub, and Sveltia CMS. Vibe coded the entire thing. The content admins donât need to know HTML to maintain it. I hadnât built any new web hosting infrastru
44cture in over a decade. Feeling accomplished! ð¤©\",\"link\":\"https://bsky.app/profile/aftertime.com/post/3motlzymdy22l\"},{\"name\":\"Vale\",\"handle\":\"vale.rocks\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:7qg6mz2xtzozxkgbcvf4pdnu/bafkreiav5vj6xi33c7pcr2wtl3bqxsynlgd7rwdpvetnik75nte4ms5xzy\",\"text\":\"Personally love blogging in markdown, but @mastrojs.bsky.social put me onto Sveltia, which is pretty nice if you want something more graphical.\",\"link\":\"https://bsky.app/profile/vale.rocks/post/3mo64y3a2nc2a\"},{\"name\":\"Cristian Ros\",\"handle\":\"cristianros.dev\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:uixc7pvlidliwkzziyefikxn/bafkreig7xsvyu5tz4ehmdnhsmfa62ecoednslt3qp5lqsmopkrme4hdyay\",\"text\":\"Iâm actually trying Sveltia CMS rn for some projects I need to tackle and the experience is being awesome so far, just yesterday they added reordering entries, the only thing I would want is typescript first support to get types and imports directly from collections but Iâm loving it!\",\"link\":\"https://bsky.app/profile/cristianros.dev/post/3mklor2czhc2d\"},{\"name\":\"Mike Masnick\",\"handle\":\"masnick.com\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:cak4klqoj3bqgk5rj6b4f5do/bafkreifrr5n5p2ixfbupo3eocykh5jzd67dy2tohi7pzllacainjgkkq5e\",\"text\":\"Among other things, I talk about how Iâm using @sveltiacms.app as part of making the site work. Definitely recommended if others are looking for a simple cms.\",\"link\":\"https://bsky.app/profile/masnick.com/post/3mdt7pcsds224\"},{\"name\":\"h3w\",\"handle\":\"hwww.org\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:xynscb52vgvyd7yjg7sj7d5o/bafkreigaovisd7nqgpy6aso2vzteswbdaxbqpuzvy25rlf6koblv64by6e\",\"text\":\"Been testing and following Sveltia since a bit now, and I love it! Thanks for making it happen, and congratulation on the great tool and UX. There are thousands reasons decap/sveltia are my CMS of choice.\",\"link\":\"https://bsky.app/profile/hwww.org/post/3mdl2lpk3gs2c\"},{\"name\":\"Andrew Roberts\",\"handle\":\"ajr.sh\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:pqc6ujwy6pln2sdsfe6xyvxa/bafkreid2qcqctq6xcluolo7jr4hhbyh2goavumsrf6u7c3vew6xv7rjnaq\",\"text\":\"@britegrid.io nailed the core architecture, his improvements on top Decap CMS, and his ongoing attentiveness and care as a maintainer. best git-based CMS on the market, very grateful itâs available as open source software\",\"link\":\"https://bsky.app/profile/ajr.sh/post/3m7qs5jy6m22d\"},{\"name\":\"Anil Dash\",\"handle\":\"anildash.com\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:sg2e2kqdsdp2q2zl44txadbp/bafkreicnvqv3tg434bghscobifd6fqltjrvq6li4qo4zmujjvtbefqfgxy\",\"text\":\"ah! itâs published using Eleventy. The CMS (such as it is) is Sveltia, backed by Github, which works great on Netlify.\",\"link\":\"https://bsky.app/profile/anildash.com/post/3m7osuyipnc22\"},{\"name\":\"Sheikh\",\"handle\":\"cybar.dev\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:swj2xzsgh4syludj74s6arjm/bafkreihwfbw5qadqzzmv47aosts7mlhqdug42y66ntnenux7holmrm73oy\",\"text\":\"This is such a nice Git-based headless CMS, itâs truly amazing. Iâm very impressed. A lot more customizable and performant than Decap, and itâs responsive on mobile. This might be what finally gets me to blog more often. ð\",\"link\":\"https://bsky.app/profile/cybar.dev/post/3m6xplxkjku2k\"},{\"name\":\"fiona\",\"handle\":\"marioparty.blog\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:xpndkvdikpu5r3yvfn6cos3j/bafkreif4dtcmauipiaiyx55vsywexbumoqsr2eatvfeosbdwfx27flzfsq\",\"text\":\"just deployed our switch to sveltia cms! still ironing out some expectations between sveltia cms and our 11ty site, but no more blockers. very happy with what weâve seen so far, thanks for the awesome work!!\",\"link\":\"https://bsky.app/profile/marioparty.blog/post/3m5yittk4y22o\"},{\"name\":\"Gomez\",\"handle\":\"longsquarehead.bsky.social\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:xsgz36miim4bvbpqnb3leoaj/bafkreic6dqld4o5xvs62ptzupkubam3thp5l4hozv3xl5hbqxmg6673iea\",\"text\":\"mann, I was banging my head against the wall trying to figure out oAuth with decap, but switching to sveltia seamlessly enabled me to use fine-grained PATs to log in, thank god\",\"link\":\"https://bsky.app/profile/longsquarehead.bsky.social/post/3lv2wrrlpik2b\"},{\"name\":\"hyceate\",\"handle\":\"hyceate.bsky.social\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:5mxypspnhxig3kboxu6u4ltp/bafkreieajcm2ozgh45k5plb6krjiilpdmpnlkev3z3fnrmjn32jzikzqki\",\"text\":\"honestly my favorite so far. quick and simple. lol I did use decap/netlify/static cms but was hoping for a more active project. happy this exists. fits my needs nicely with 11ty.\",\"link\":\"https://bsky.app/profile/hyceate.bsky.social/post/3lv2v2467pk22\"},{\"name\":\"Seb Duggan\",\"handle\":\"sebduggan.uk\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:fadprentoncf3znz2ea7nyy2/bafkreifzp2g7rkhhnc7xygq7m52dh2dvw6y3haai4lsnhv72m27lhewswe\",\"text\":\"Have just migrated (very easy!) from Decap to Sveltia. Very impressed so farâ¦\",\"link\":\"https://bsky.app/profile/sebduggan.uk/post/3lrqtpm6zlxw5\"},{\"name\":\"Simon Lagerlöf\",\"handle\":\"smn.codes\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:vgfzl4gmtztaltmkdwuzuszm/bafkreih6cu62vnv6kfwydqi6jybacxoyqpd3yiarjohkaqfzdp3obaxwja\",\"text\":\"Happy to see @sveltiacms.app on Bluesky! At this point **the best** GIT based CMS Iâve come across, fantastic work by @britegrid.io ð¥³\",\"link\":\"https://bsky.app/profile/smn.codes/post/3lqchaxq4cc2m\"},{\"name\":\"Dylan Beattie\",\"handle\":\"dylanbeattie.net\",\"avatar\":\"https://cdn.bsky.app/img/avatar_thumbnail/plain/did:plc:tr4fmad7fpxeyaw26ky4esys/bafkreidah2xrp6oy27wz3lirmredely2m6ie5sypuv7r4wslbrogub4mci\",\"text\":\"I plugged Sveltia CMS
44into dylanbeattie.net the other day. Itâs AWESOME. Itâs a standalone WYSIWYG editor built in JS Svelte that connects directly to GitHub. My website is still a static Jekyll site, everything is Markdown or HTML, all hosted free on GitHub Pages - but now it has a built-in editor.\",\"link\":\"https://bsky.app/profile/dylanbeatt.ie/post/3liad2ym4mk24\"}],\"head\":[[\"link\",{\"rel\":\"canonical\",\"href\":\"https://sveltiacms.app/en/\"}]]},\"headers\":[],\"relativePath\":\"en/index.md\",\"filePath\":\"en/index.md\"}"); 45var en_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ Object.assign({ name: "en/index.md" }, { setup(__props) { 46 return (_ctx, _cache) => { 47 return openBlock(), createElementBlock("div", null, [ 48 _cache[0] || (_cache[0] = createStaticVNode("", 7)), 49 createVNode(BlueskyQuotes_default, { quotes: _ctx.$frontmatter.quotes }, null, 8, ["quotes"]), 50 _cache[1] || (_cache[1] = createBaseVNode("h2", { 51 id: "see-it-in-action", 52 tabindex: "-1" 53 }, [createTextVNode("See It in Action "), createBaseVNode("a", { 54 class: "header-anchor", 55 href: "#see-it-in-action", 56 "aria-label": "Permalink to âSee It in Actionâ" 57 }, "â")], -1)), 58 createBaseVNode("div", _hoisted_1, [createVNode(unref(VPButton_default), { 59 text: "Visit Showcase", 60 href: "/en/showcase" 61 })]) 62 ]); 63 }; 64} }), [["__scopeId", "data-v-1260c26a"]]); 65//#endregion 66export { __pageData, en_default 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.