Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 42 additions & 16 deletions docs/site/i18n/es/code.json
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,24 @@
"message": "Comando copiado",
"description": "Accessible label after copying the install command"
},
"homepage.agent.jump": {
"message": "¿Usas IA? Copia nuestro prompt para empezar."
},
"homepage.agent.heading": {
"message": "¿Desarrollas con un agente de IA?"
},
"homepage.agent.copy": {
"message": "Copiar prompt"
},
"homepage.agent.copied": {
"message": "Copiado"
},
"homepage.agent.body": {
"message": "Pégalo en Claude Code, Codex, Cursor u otro agente de programación. Instala Scaffold, te pide el nombre del proyecto, crea el proyecto y le indica al agente nuestra Agent Skill para todo lo demás."
},
"homepage.agent.cta": {
"message": "Sobre la Agent Skill"
},
"homepage.features.quickstart.title": {
"message": "Inicio Rápido",
"description": "Title for the quickstart card"
Expand Down Expand Up @@ -404,27 +422,35 @@
"homepage.about.cta": {
"message": "Lee la introducción"
},
"homepage.loop.heading": {
"message": "El ciclo"
"homepage.workflow.heading": {
"message": "El flujo de trabajo"
},
"homepage.workflow.intro": {
"message": "Itera en local tan rápido como guardas y despliega en testnet y mainnet cuando lo decidas. Compilar contratos, ejecutar la red local y generar clientes TypeScript ocurre por sí solo."
},
"homepage.workflow.init.label": {
"message": "Crear"
},
"homepage.workflow.init": {
"message": "Configura los contratos, un frontend en el framework que elijas y el código utilitario que los conecta, ya integrados."
},
"homepage.workflow.dev.label": {
"message": "Desarrollar en local"
},
"homepage.loop.intro": {
"message": "Cuatro comandos cubren todo el ciclo de vida. Todo lo que hay en medio —compilar contratos, desplegar en una red local, generar clientes TypeScript— ocurre por sí solo."
"homepage.workflow.dev": {
"message": "Ejecuta una red local y vigila tu código. Cada vez que guardas, recompila y vuelve a desplegar los contratos que cambiaron, regenera sus clientes tipados y recarga el frontend."
},
"homepage.loop.init": {
"message": "Prepara los contratos, un frontend en el framework que elijas y el código de utilidades que los conecta, ya listos para funcionar.",
"description": "Description of the init step"
"homepage.workflow.publish.label": {
"message": "Publicar"
},
"homepage.loop.generate": {
"message": "Añade un contrato al workspace y lo registra en la configuración de tu entorno.",
"description": "Description of the generate step"
"homepage.workflow.publish": {
"message": "Cuando un contrato está listo, publica su Wasm en el Stellar Registry y despliégalo por nombre: primero en testnet como staging y luego en mainnet. Estos despliegues son pasos deliberados, nunca un efecto secundario de guardar un archivo."
},
"homepage.loop.dev": {
"message": "Observa tus contratos, los recompila y redespliega al cambiar, regenera los clientes tipados y sirve el frontend.",
"description": "Description of the dev step"
"homepage.workflow.extras": {
"message": "Mientras desarrollas, un único scaffold.yml versionado declara tus redes, cuentas y contratos, para que todo tu equipo compile el mismo proyecto, y ese mismo archivo lo lleva de local a testnet y a mainnet. Las comprobaciones de configuración detectan errores antes de compilar y, cuando algo falla, Doctor revisa tu toolchain, la configuración y la red local de una vez y te dice cómo arreglar lo que encuentra."
},
"homepage.loop.publish": {
"message": "Publica tu WASM en el Stellar Registry para poder desplegarlo por nombre en testnet o mainnet.",
"description": "Description of the publish step"
"homepage.workflow.cta": {
"message": "Ver todos los comandos"
},
"footer.banner.eyebrow": {
"message": "Registro de Contratos"
Expand Down
163 changes: 140 additions & 23 deletions docs/site/src/pages/index.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -111,20 +111,122 @@
opacity: 0.85;
}

/* Jump link to the agent prompt. Wide screens show the callout close enough
to the fold that the link would only add noise. */
.heroAgentLink {
display: block;
width: fit-content;
margin: 1rem auto 0;
font-size: 0.875rem;
color: var(--ss-band-ink);
text-decoration: underline;
text-underline-offset: 0.2em;
}

.heroAgentLink:hover {
color: var(--ss-band-ink);
opacity: 0.75;
}

@media screen and (min-width: 997px) {
.heroAgentLink {
display: none;
}
}

/* ── Reading column ─────────────────────────────────── */

.main {
max-width: var(--ss-column);
margin: 0 auto;
padding: 3rem 1.5rem 4rem;
/* Docusaurus renders <main> as a flex item; without this the non-wrapping
commands in the loop set a min-content floor and scroll the whole page. */
commands in the workflow set a min-content floor and scroll the whole page. */
min-width: 0;
width: 100%;
}

/* ── Agent prompt callout ───────────────────────────── */

.agent {
margin-top: 3rem;
padding: 1.5rem;
border: 1px solid var(--ifm-color-primary);
border-radius: 0.625rem;
background-color: color-mix(
in srgb,
var(--ifm-color-primary) 7%,
var(--ss-background)
);
/* Keeps the heading clear of the sticky navbar after the hero link jumps here */
scroll-margin-top: calc(var(--ifm-navbar-height) + 1rem);
}

.agentHeader {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 0.75rem 1rem;
}

.agentHeading {
font-family: var(--ss-font-display);
font-size: 1.375rem;
font-weight: 500;
margin: 0;
}

.agentCopy {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
border: none;
border-radius: 0.5rem;
background-color: var(--ifm-color-primary);
color: var(--ss-background);
font-family: inherit;
font-size: 0.875rem;
font-weight: 600;
cursor: pointer;
transition: opacity var(--ss-duration) var(--ss-easing);
}

.agentCopy:hover {
opacity: 0.85;
}

.agentCopy.copied {
background-color: #1f7a4d;
color: #ffffff;
}

.agentBody {
font-size: 0.9375rem;
line-height: 1.7;
color: var(--ss-muted);
margin: 0.875rem 0 1rem;
}

.agentPrompt {
font-family: var(--ss-font-mono);
font-size: 0.8125rem;
line-height: 1.6;
color: var(--ss-foreground);
background-color: var(--ss-background);
border: 1px solid var(--ss-border);
border-radius: 0.5rem;
padding: 1rem;
margin: 0 0 1rem;
/* Wraps instead of scrolling sideways; the skill URL is long enough that
it has to break mid-word on a phone. */
white-space: pre-wrap;
overflow-wrap: anywhere;
}

.about,
.loop {
.workflow {
margin-top: 3.5rem;
padding-top: 3rem;
border-top: 1px solid var(--ss-border);
Expand Down Expand Up @@ -158,50 +260,61 @@
text-decoration: underline;
}

/* ── Dev loop rail ──────────────────────────────────── */
/* ── Workflow rail ──────────────────────────────────── */

/* The rail is the page's one piece of ornament: a scaffold pole with a clamp
at each command, drawn from the same joint color the cards pick up on hover. */
.loopList {
position: relative;
at each step, drawn from the same joint color the cards pick up on hover.
Each step draws the pole down to the next clamp, so it ends at the last. */
.workflowList {
list-style: none;
margin: 1.75rem 0 0;
padding: 0 0 0 2rem;
}

.loopList::before {
content: "";
position: absolute;
left: 0.34375rem;
top: 0.5rem;
bottom: 0.75rem;
width: 1px;
background-color: var(--ss-joint);
opacity: 0.5;
}

.loopStep {
.workflowStep {
position: relative;
padding-bottom: 1.5rem;
}

.loopStep:last-child {
.workflowStep:last-child {
padding-bottom: 0;
}

.loopStep::before {
.workflowStep::before {
content: "";
position: absolute;
left: -2rem;
top: 0.375rem;
top: 0.25rem;
width: 0.6875rem;
height: 0.6875rem;
border: 1.5px solid var(--ss-joint);
border-radius: 2px;
background-color: var(--ss-background);
}

.loopCommand {
/* Runs from the bottom of this clamp to the top of the next one */
.workflowStep:not(:last-child)::after {
content: "";
position: absolute;
left: calc(-2rem + 0.34375rem);
top: 0.9375rem;
bottom: -0.25rem;
width: 1px;
background-color: var(--ss-joint);
opacity: 0.5;
}

.workflowLabel {
display: block;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--ss-muted);
margin-bottom: 0.25rem;
}

.workflowCommand {
display: block;
font-family: var(--ss-font-mono);
font-size: 0.875rem;
Expand All @@ -214,9 +327,13 @@
white-space: nowrap;
}

.loopDetail {
.workflowDetail {
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ss-muted);
margin: 0.375rem 0 0;
}

.workflowExtras {
margin-top: 2rem;
}
Loading
Loading