aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--index.html392
1 files changed, 152 insertions, 240 deletions
diff --git a/index.html b/index.html
index 83c0c5a..8eb2ff2 100644
--- a/index.html
+++ b/index.html
@@ -3,296 +3,208 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>run - script runner</title>
+ <title>run — script runner</title>
<style>
- * {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
- }
body {
- font-family:
- -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
- "Helvetica Neue", Arial, sans-serif;
- background: #0d1117;
- color: #e6edf3;
+ margin: 0;
min-height: 100vh;
display: flex;
- flex-direction: column;
align-items: center;
justify-content: center;
- padding: 2rem;
+ background: #ffffe8;
+ font-family: "Times New Roman", Times, serif;
+ padding: 24px;
}
- .card {
- background: #161b22;
- border: 1px solid #30363d;
- border-radius: 16px;
- padding: 3rem 2.8rem;
- max-width: 720px;
+
+ .box {
+ max-width: 640px;
width: 100%;
- text-align: center;
+ background: #fffff0;
+ border: 3px ridge #808080;
+ padding: 32px 36px;
}
+
h1 {
- font-size: 3rem;
- font-weight: 800;
- letter-spacing: -0.03em;
- color: #e6edf3;
- }
- h1 span {
- color: #f85149;
+ font-size: 42px;
+ font-weight: normal;
+ margin: 0 0 2px 0;
+ letter-spacing: 2px;
}
+
.tagline {
- font-size: 1.1rem;
- color: #8b949e;
- margin: 0.5rem 0 1.5rem;
+ font-size: 16px;
font-style: italic;
+ color: #555;
+ margin: 0 0 20px 0;
+ border-bottom: 1px solid #ccc;
+ padding-bottom: 12px;
}
- .desc {
- font-size: 0.95rem;
- line-height: 1.6;
- color: #8b949e;
- margin-bottom: 2rem;
- }
- .desc code {
- background: #21262d;
- color: #e6edf3;
- padding: 0.15em 0.5em;
- border-radius: 4px;
- font-size: 0.85em;
- }
- .install-box {
- background: #0d1117;
- border: 1px solid #30363d;
- border-radius: 12px;
- padding: 1.5rem;
- text-align: left;
- margin-bottom: 1.5rem;
- }
- .install-box .label {
- color: #8b949e;
- font-size: 0.75rem;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- margin-bottom: 0.75rem;
- display: block;
- }
- .install-box code {
- display: block;
- font-family:
- "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas",
- monospace;
- font-size: 1rem;
- line-height: 1.8;
- padding: 0.25rem 0;
+
+ h2 {
+ font-size: 18px;
+ font-weight: bold;
+ margin: 18px 0 8px 0;
+ color: #333;
}
- .install-box code .prompt {
- color: #3fb950;
+ h2:first-of-type {
+ margin-top: 0;
}
- .install-box code .comment {
- color: #8b949e;
+
+ p {
+ font-size: 15px;
+ line-height: 1.6;
+ margin: 6px 0;
+ color: #222;
}
- .install-box code .highlight {
- color: #58a6ff;
+
+ code,
+ tt {
+ font-family: "Courier New", Courier, monospace;
+ font-size: 14px;
}
- .os-tabs {
+
+ .lang-grid {
display: flex;
- gap: 0.5rem;
- margin-bottom: 1rem;
- justify-content: center;
+ flex-wrap: wrap;
+ gap: 4px 10px;
+ margin: 8px 0 12px 0;
}
- .os-tab {
- padding: 0.4rem 1.2rem;
- border-radius: 8px;
- border: 1px solid #30363d;
- background: transparent;
- color: #8b949e;
- font-size: 0.85rem;
- cursor: pointer;
- transition: all 0.15s;
- font-family: inherit;
+ .lang-grid span {
+ background: #eee;
+ border: 1px solid #bbb;
+ padding: 2px 8px;
+ font-size: 13px;
+ font-family: "Courier New", monospace;
}
- .os-tab.active {
- background: #1f6feb;
+
+ .cmd-box {
+ background: #222;
+ color: #00dd00;
+ font-family: "Courier New", monospace;
+ font-size: 13px;
+ padding: 10px 14px;
+ border: 2px inset #808080;
+ margin: 6px 0 10px 0;
+ overflow-x: auto;
+ white-space: nowrap;
+ line-height: 1.7;
+ }
+ .cmd-box .prompt {
+ color: #00dd00;
+ }
+ .cmd-box .comment {
+ color: #888;
+ }
+ .cmd-box .highlight {
+ color: #ffff00;
+ }
+ .cmd-box .hl2 {
+ color: #00ddff;
+ }
+ .cmd-box .label {
color: #fff;
- border-color: #1f6feb;
- }
- .os-tab:hover {
- border-color: #8b949e;
- color: #e6edf3;
- }
- .usage-box {
- background: #0d1117;
- border: 1px solid #30363d;
- border-radius: 10px;
- padding: 1.2rem 1.5rem;
- text-align: left;
- margin-top: 0.5rem;
- }
- .usage-box .label {
- color: #8b949e;
- font-size: 0.75rem;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- margin-bottom: 0.5rem;
- display: block;
- }
- .usage-box code {
- display: block;
- font-family:
- "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas",
- monospace;
- font-size: 0.9rem;
- line-height: 1.8;
- }
- .usage-box code .prompt {
- color: #3fb950;
- }
- .usage-box code .comment {
- color: #8b949e;
- }
- .usage-box code .highlight {
- color: #d2a8ff;
+ font-weight: bold;
+ margin-bottom: 2px;
}
+
.footer {
- margin-top: 2rem;
- font-size: 0.8rem;
- color: #484f58;
+ margin-top: 18px;
+ padding-top: 10px;
+ border-top: 1px solid #ccc;
+ font-size: 13px;
+ color: #666;
}
.footer a {
- color: #58a6ff;
- text-decoration: none;
+ color: #222;
+ text-decoration: underline;
}
.footer a:hover {
- text-decoration: underline;
+ color: #888;
}
- @media (max-width: 600px) {
- .card {
- padding: 2rem 1.5rem;
+ @media (max-width: 500px) {
+ .box {
+ padding: 20px 16px;
}
h1 {
- font-size: 2rem;
- }
- .install-box code {
- font-size: 0.85rem;
+ font-size: 30px;
}
}
</style>
</head>
<body>
- <div class="card">
- <h1>
- <span id="prefix">./</span><span>run</span
- ><span id="suffix">.sh</span>
- </h1>
+ <div class="box">
+ <h1>run</h1>
<p class="tagline">Screw "make", I just want a script runner</p>
- <p class="desc">
- Drop any script into <code>.run/src/bin/</code> — Rust, C#,
- Python, Shell, Ruby, Go, etc.<br />
- One command to list, one command to run. No Makefile, no config.
+
+ <h2>What is this?</h2>
+ <p>
+ A cross-platform script runner. Drop any script into
+ <tt>.run/src/bin/</tt> and run it by name. No makefiles, no
+ justfiles, no config.
</p>
- <div class="os-tabs">
- <button class="os-tab active" onclick="switchOS('linux')">
- Linux / macOS
- </button>
- <button class="os-tab" onclick="switchOS('windows')">
- Windows
- </button>
+ <div class="lang-grid">
+ <span>[Rust] .rs</span>
+ <span>[C#] .cs</span>
+ <span>[Python] .py</span>
+ <span>[Ruby] .rb</span>
+ <span>[Perl] .pl</span>
+ <span>[Go] .go</span>
+ <span>[Zig] .zig</span>
+ <span>[Nim] .nim</span>
+ <span>[Shell] .sh</span>
+ <span>[Binary] (no ext)</span>
+ <span>[PowerShell] .ps1</span>
+ <span>[Binary] .exe</span>
</div>
- <div class="install-box" id="install-linux">
- <span class="label">Install</span>
- <code
- ><span class="prompt">$</span> curl -fsSL
- https://catilgrass.github.io/run/install.sh | bash</code
- >
- <code><span class="prompt">$</span> chmod +x run.sh</code>
+ <h2>Install</h2>
+
+ <div class="cmd-box">
+ <span class="label">:: Linux</span><br />
+ <span class="prompt">$</span> curl -fsSL
+ https://catilgrass.github.io/run/install.sh | bash<br />
+ <span class="prompt">$</span> chmod +x run.sh
</div>
- <div class="install-box" id="install-windows" style="display: none">
- <span class="label">Install</span>
- <code
- ><span class="prompt">PS&gt;</span> iwr -useb
- https://catilgrass.github.io/run/install.ps1 | iex</code
- >
+ <div class="cmd-box">
+ <span class="label">:: Windows</span><br />
+ <span class="prompt">PS&gt;</span> iwr -useb
+ https://catilgrass.github.io/run/install.ps1 | iex
</div>
- <div class="usage-box" id="usage-linux">
- <span class="label">Usage</span>
- <code
- ><span class="prompt">$</span> ./run.sh
- <span class="comment"># list all scripts</span></code
- >
- <code
- ><span class="prompt">$</span> ./run.sh
- <span class="highlight">hello</span>
- <span class="comment"># run by name</span></code
- >
- <code
- ><span class="prompt">$</span> ./run.sh
- <span class="highlight">3</span>
- <span class="comment"># run by number</span></code
- >
- <code
- ><span class="prompt">$</span> ./run.sh
- <span class="highlight">3 Hello World</span>
- <span class="comment"># with arguments</span></code
+ <p>
+ <i
+ >Or grab it manually from
+ <a href="https://github.com/catilgrass/run">GitHub</a>.</i
>
+ </p>
+
+ <h2>Usage</h2>
+
+ <div class="cmd-box">
+ <span class="prompt">$</span> ./run.sh
+ <span class="comment"># list all scripts</span><br />
+ <span class="prompt">$</span> ./run.sh
+ <span class="highlight">myscript</span>
+ <span class="comment"># run by name</span><br />
+ <span class="prompt">$</span> ./run.sh
+ <span class="highlight">3</span>
+ <span class="comment"># run by number</span><br />
+ <span class="prompt">$</span> ./run.sh
+ <span class="highlight">3</span>
+ <span class="hl2">Hello World</span>
+ <span class="comment"># with arguments</span>
</div>
- <div class="usage-box" id="usage-windows" style="display: none">
- <span class="label">Usage</span>
- <code
- ><span class="prompt">PS&gt;</span> .\run.ps1
- <span class="comment"># list all scripts</span></code
- >
- <code
- ><span class="prompt">PS&gt;</span> .\run.ps1
- <span class="highlight">hello</span>
- <span class="comment"># run by name</span></code
- >
- <code
- ><span class="prompt">PS&gt;</span> .\run.ps1
- <span class="highlight">3</span>
- <span class="comment"># run by number</span></code
- >
- <code
- ><span class="prompt">PS&gt;</span> .\run.ps1
- <span class="highlight">3 Hello World</span>
- <span class="comment"># with arguments</span></code
+
+ <div class="footer">
+ <a href="https://github.com/catilgrass/run">GitHub</a>
+ &nbsp;&middot;&nbsp;
+ <a href="https://github.com/catilgrass/run/blob/master/LICENSE"
+ >WTFPL</a
>
</div>
</div>
-
- <div class="footer">
- <a href="https://github.com/catilgrass/run">GitHub</a> &middot;
- <a href="https://github.com/catilgrass/run/blob/master/LICENSE"
- >WTFPL</a
- >
- </div>
-
- <script>
- function switchOS(os) {
- document
- .querySelectorAll(".os-tab")
- .forEach((t) => t.classList.remove("active"));
- document
- .querySelectorAll(".install-box")
- .forEach((b) => (b.style.display = "none"));
- document
- .querySelectorAll(".usage-box")
- .forEach((b) => (b.style.display = "none"));
- document
- .querySelector(`.os-tab[onclick*="${os}"]`)
- .classList.add("active");
- document.getElementById(`install-${os}`).style.display =
- "block";
- document.getElementById(`usage-${os}`).style.display = "block";
- document.getElementById("prefix").textContent =
- os === "windows" ? ".\\" : "./";
- document.getElementById("suffix").textContent =
- os === "windows" ? ".ps1" : ".sh";
- }
- </script>
</body>
</html>