diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 24946c0..6b226ae 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -1,5 +1,5 @@
{
- "name": "Minipaste Dev Container",
+ "name": "binit.app Dev Container",
"image": "mcr.microsoft.com/devcontainers/javascript-node:24-bookworm",
"forwardPorts": [3000],
"portsAttributes": {
diff --git a/README.md b/README.md
index 4e8a1eb..bfe5e41 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,2 @@
-# Minipaste
+# binit.app
diff --git a/package.json b/package.json
index 574cd7e..11accdc 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "minipaste",
+ "name": "binit.app",
"version": "1.0.0",
"description": "A minimal pastebin alternative backed by MinIO",
"main": "src/index.js",
diff --git a/src/index.js b/src/index.js
index 8008ddc..1d8de3f 100644
--- a/src/index.js
+++ b/src/index.js
@@ -34,7 +34,7 @@ app.use((err, req, res, _next) => {
async function start() {
await ensureBucket();
- app.listen(PORT, () => console.log(`Minipaste running → http://localhost:${PORT}`));
+ app.listen(PORT, () => console.log(`binit.app running → http://localhost:${PORT}`));
}
start().catch(err => {
diff --git a/src/public/index.html b/src/public/index.html
index 30812fb..d632800 100644
--- a/src/public/index.html
+++ b/src/public/index.html
@@ -3,13 +3,13 @@
- Minipaste — New Paste
+ binit.app — New Paste
diff --git a/src/public/paste.html b/src/public/paste.html
index 33cf7e5..b4fcd51 100644
--- a/src/public/paste.html
+++ b/src/public/paste.html
@@ -3,13 +3,13 @@
- Minipaste
+ binit.app
- Minipaste
+ binit.app
@@ -21,8 +21,9 @@
diff --git a/src/public/paste.js b/src/public/paste.js
index b8f530a..eb1c435 100644
--- a/src/public/paste.js
+++ b/src/public/paste.js
@@ -5,6 +5,9 @@ const pasteExpiryEl = document.getElementById('paste-expiry');
const pasteLangEl = document.getElementById('paste-lang');
const copyBtn = document.getElementById('copy-btn');
const downloadBtn = document.getElementById('download-btn');
+const rawBtn = document.getElementById('raw-btn');
+
+rawBtn.href = `/raw/${location.pathname.replace(/^\/p\//, '')}`;
const LANG_EXT = {
bash: 'sh', c: 'c', cpp: 'cpp', css: 'css', go: 'go',
@@ -104,7 +107,7 @@ async function loadPaste() {
// Use textContent — never innerHTML — to prevent XSS
pasteCodeEl.textContent = data.content;
setLineNumbers(data.content);
- document.title = `Minipaste — ${id}`;
+ document.title = `binit.app — ${id}`;
if (data.lang) {
pasteLangEl.textContent = data.lang;
diff --git a/src/public/style.css b/src/public/style.css
index a4a8189..b700e03 100644
--- a/src/public/style.css
+++ b/src/public/style.css
@@ -265,7 +265,31 @@ textarea#content::placeholder { color: var(--text-muted); }
.paste-meta-actions {
margin-left: auto;
display: flex;
- gap: 0.5rem;
+ gap: 0.4rem;
+}
+
+.meta-action {
+ display: inline-flex;
+ align-items: center;
+ background: transparent;
+ color: var(--text-muted);
+ border: 1px solid var(--border);
+ border-radius: var(--radius);
+ padding: 0.2rem 0.6rem;
+ font-size: 0.78rem;
+ font-weight: 500;
+ cursor: pointer;
+ text-decoration: none;
+ transition: color 0.15s, border-color 0.15s;
+ font-family: var(--sans);
+ white-space: nowrap;
+ line-height: 1.4;
+}
+
+.meta-action:hover {
+ color: var(--text);
+ border-color: var(--text-muted);
+ background: transparent;
}
.lang-badge {