PageSourceSearch

https://envless.cloud/assets/blogPageData.D7XghK3n.js

js envless.cloud collected 2026-10-08 19:58:18 UTC 2,610 bytes, 1 lines download raw bytes

1import{f as w}from"./chunk-BV7QT456.BQ71lt_D.js";import{S as a,j as E,O as I,R as u}from"./jwt-generator.DZpDpWmD.js";import{O as g,D as L,a as v}from"./seo.DRFtizGJ.js";import{b as R,s as S,B as D,a as M,c as f,d as U,e as _,r as T}from"./posts.BFXTTV5i.js";import{l as G,b as k}from"./loadBlogModule.BLPQ9h9z.js";const A=({title:e,description:t,slug:o,image:s=I.default,publishedDate:i,modifiedDate:O,author:n=L,authorUrl:p,keywords:b=[],wordCount:y})=>{const l=new URL(R(o),a).href,m=E(s),B=m.startsWith("http")?m:new URL(m,a).href,d=a+u.blog,P=n===L||n===v?{"@type":"Organization","@id":g,name:n,url:a}:{"@type":"Person",name:n,...p?{url:p}:{}};return[{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:a+"/"},{"@type":"ListItem",position:2,name:"Blog",item:d},{"@type":"ListItem",position:3,name:e,item:l}]},{"@type":"BlogPosting","@id":`${l}/#article`,headline:e,description:t,image:[B],datePublished:i,dateModified:O||i,mainEntityOfPage:{"@type":"WebPage","@id":l},author:P,publisher:{"@id":g},isPartOf:{"@type":"Blog","@id":`${d}/#blog`,name:"Envless Blog",url:d},inLanguage:"en",...b.length?{keywords:b.join(", ")}:{},...y?{wordCount:y}:{}}]},h=async()=>S(await Promise.all([...D.keys()].map(async e=>M(e,(await G(e)).frontmatter)))),r=a+u.blog,H="Tutorials and deep dives on secrets management, environment variables, encryption, and secure developer workflows.",N=e=>({title:"Blog: Secrets Management & DevSecOps",description:"Tutorials and deep dives on secrets management, environment variables, encryption, and secure developer workflows from the Envless team.",jsonLd:[{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:a+u.home},{"@type":"ListItem",position:2,name:"Blog",item:r}]},{"@type":"Blog","@id":`${r}/#blog`,name:"Envless Blog",url:r,description:H,publisher:{"@id":g},inLanguage:"en",blogPost:e.map(t=>({"@type":"BlogPosting",headline:t.title,url:`${r}/${t.slug}`,datePublished:f(t)}))}]}),$=(e,t=_(e))=>{const o=f(e),s=U(e);return{title:e.title,description:e.description,type:"article",publishedDate:o,modifiedDate:s,author:e.author,jsonLd:A({title:e.title,description:e.description,slug:e.slug,image:e.image,publishedDate:o,modifiedDate:s,author:e.author,authorUrl:e.authorUrl,keywords:e.keywords,wordCount:t||void 0})}},c=({body:e,...t})=>t,j=404,J=async()=>{const e=(await h()).map(c);return{posts:e,page:N(e)}},K=async e=>{const t=await h(),o=t.find(i=>i.slug===e);if(!o)throw w(null,{status:j});const s=t.map(c);return{post:c(o),related:T(o,s),page:$(o,k(o.slug).wordCount)}};export{K as a,J as b};

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.