diff --git a/docs/site/index.html b/docs/site/index.html index 4ee6ea2..c208a72 100644 --- a/docs/site/index.html +++ b/docs/site/index.html @@ -12,7 +12,7 @@ - Opsfile + >_ 🚨 Opsfile Install Usage @@ -26,7 +26,7 @@ Opsfile Like make, but for common live ops commands - Create an Opsfile. Run ops [env] [command]. Done. + Create an Opsfile. Run ops prod rollback-cluster. Go back to sleep. Install View on GitHub @@ -176,12 +176,12 @@ Why use it? 🤝 Team Standardisation - No more tribal knowledge or Slack threads of bash one-liners. Opsfile lives in the repo — every teammate runs the same command, the same way, every time. + No more tribal knowledge or bespoke bash aliases. Opsfile lives in the repo. 🔒 Secrets-Safe by Design - Reference secrets via environment variables — never commit credentials. Variables resolve from your shell at runtime, keeping sensitive values out of your repo. + Reference secrets via environment variables — never commit them. @@ -193,19 +193,19 @@ Why use it? Links - GitHub Repo + GitHub Repo: Source code and documentation - Releases + Releases: Download binaries and changelogs - Issues + Issues: Bug reports and feature requests - Discussions + Discussions: Questions, ideas, and community @@ -234,13 +234,17 @@ Links // Copy buttons on install code blocks document.querySelectorAll('.install-section .code-block').forEach(block => { const btn = document.createElement('button'); + const copyIcon = ``; + const checkIcon = ``; btn.className = 'copy-btn'; - btn.textContent = 'Copy'; + btn.innerHTML = copyIcon; + btn.title = 'Copy'; + btn.setAttribute('aria-label', 'Copy'); btn.addEventListener('click', () => { const code = block.querySelector('code'); navigator.clipboard.writeText(code.textContent.trim()).then(() => { - btn.textContent = 'Copied!'; - setTimeout(() => { btn.textContent = 'Copy'; }, 2000); + btn.innerHTML = checkIcon; + setTimeout(() => { btn.innerHTML = copyIcon; }, 2000); }); }); block.appendChild(btn); diff --git a/docs/site/style.css b/docs/site/style.css index ce30d2b..91b4eb7 100644 --- a/docs/site/style.css +++ b/docs/site/style.css @@ -125,6 +125,14 @@ a:hover { margin-bottom: 32px; } +.subtitle code { + font-family: monospace; + color: var(--cyan); + background: var(--bg-hl); + padding: 1px 6px; + border-radius: 3px; +} + .cta-buttons { display: flex; gap: 12px; @@ -335,11 +343,13 @@ pre > code { color: var(--bright); border: none; border-radius: 4px; - padding: 4px 10px; - font-family: monospace; - font-size: 0.75rem; + padding: 5px 8px; + line-height: 1; cursor: pointer; transition: background 0.2s, color 0.2s; + display: flex; + align-items: center; + justify-content: center; } .copy-btn:hover {
Like make, but for common live ops commands
make
Create an Opsfile. Run ops [env] [command]. Done.
Create an Opsfile. Run ops prod rollback-cluster. Go back to sleep.
ops prod rollback-cluster
No more tribal knowledge or Slack threads of bash one-liners. Opsfile lives in the repo — every teammate runs the same command, the same way, every time.
No more tribal knowledge or bespoke bash aliases. Opsfile lives in the repo.
Reference secrets via environment variables — never commit credentials. Variables resolve from your shell at runtime, keeping sensitive values out of your repo.
Reference secrets via environment variables — never commit them.