Add tool doc/home links and fix app routing

This commit is contained in:
chao5
2026-01-01 22:03:12 +08:00
parent 3209f879ad
commit c7ee96b9ad
198 changed files with 4564 additions and 224 deletions
+66 -9
View File
@@ -10,19 +10,76 @@
id = parts[toolsIndex + 1];
}
if (!id) {
if (id) {
const payload = JSON.stringify({ id });
if (navigator.sendBeacon) {
navigator.sendBeacon('/api/clicks', new Blob([payload], { type: 'application/json' }));
} else {
fetch('/api/clicks', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: payload,
keepalive: true
});
}
}
if (toolsIndex !== -1 && parts[toolsIndex + 1] && !path.endsWith('/app.html')) {
const basePath = `/${parts.slice(0, toolsIndex + 2).join('/')}/`;
const appUrl = `${basePath}app.html`;
document.querySelectorAll('a[href]').forEach((link) => {
const href = link.getAttribute('href');
if (!href || /^(https?:)?\/\//i.test(href) || href.startsWith('mailto:') || href.startsWith('#')) {
return;
}
if (href === 'app.html' || href === './app.html' || href === 'app') {
link.setAttribute('href', appUrl);
}
});
document.querySelectorAll('iframe[src]').forEach((frame) => {
const src = frame.getAttribute('src');
if (src === 'app.html' || src === './app.html' || src === 'app') {
frame.setAttribute('src', appUrl);
}
});
}
if (!path.endsWith('/app.html') || toolsIndex === -1) {
return;
}
const payload = JSON.stringify({ id });
if (navigator.sendBeacon) {
navigator.sendBeacon('/api/clicks', new Blob([payload], { type: 'application/json' }));
if (document.querySelector('.tool-doc-link')) {
return;
}
fetch('/api/clicks', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: payload,
keepalive: true
const docLink = document.createElement('a');
docLink.href = path.replace(/app\.html$/, 'index.html');
docLink.className = 'tool-doc-link';
docLink.textContent = '\u8bf4\u660e';
docLink.setAttribute('aria-label', '\u67e5\u770b\u5de5\u5177\u8bf4\u660e');
docLink.style.cssText = [
'position:fixed',
'top:18px',
'right:18px',
'padding:8px 14px',
'border-radius:999px',
'font-size:13px',
'font-weight:600',
'color:#0f172a',
'background:rgba(255,255,255,0.92)',
'text-decoration:none',
'box-shadow:0 10px 30px rgba(0,0,0,0.2)',
'backdrop-filter:blur(6px)',
'z-index:9999'
].join(';');
docLink.addEventListener('mouseenter', () => {
docLink.style.transform = 'translateY(-1px)';
docLink.style.boxShadow = '0 12px 30px rgba(0,0,0,0.25)';
});
docLink.addEventListener('mouseleave', () => {
docLink.style.transform = 'translateY(0)';
docLink.style.boxShadow = '0 10px 30px rgba(0,0,0,0.2)';
});
document.body.appendChild(docLink);
})();
+2 -2
View File
@@ -838,7 +838,7 @@
const category = toolsData.categories.find(c => c.id === tool.category);
const updatedAt = tool.updatedAt || tool.createdAt || '未知';
return `
<a href="${tool.detail}" class="tool-card" style="--tool-color: ${tool.color}">
<a href="${tool.entry}" class="tool-card" style="--tool-color: ${tool.color}">
${tool.featured ? '<span class="featured-badge">精选</span>' : ''}
<div class="tool-header">
<div class="tool-icon" style="background: ${tool.color}20; color: ${tool.color};">
@@ -910,6 +910,6 @@
loadTools();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="assets/clicks.js" defer></script>
</body>
</html>
+2 -2
View File
@@ -310,7 +310,7 @@
<div class="rank-item">
<div class="rank-badge">${index + 1}</div>
<div class="rank-info">
<a class="rank-name" href="/${item.tool.detail}">${item.tool.name}</a>
<a class="rank-name" href="/${item.tool.entry}">${item.tool.name}</a>
<div class="rank-meta">${item.tool.description}</div>
</div>
<div class="rank-metric">
@@ -339,6 +339,6 @@
init();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -175,9 +175,44 @@
grid-template-columns: 1fr;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>进制转换工具</h1>
@@ -403,6 +438,6 @@
document.head.appendChild(style);
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -154,6 +154,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Base32 解码</h1>
@@ -287,6 +322,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Base32 编码</h1>
@@ -286,6 +321,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -179,9 +179,44 @@
color: var(--accent);
word-break: break-all;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Base36 解码</h1>
@@ -258,6 +293,6 @@
decodeBase36();
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -160,6 +160,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -179,9 +179,44 @@
color: var(--accent);
word-break: break-all;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Base36 编码</h1>
@@ -248,6 +283,6 @@
encodeBase36();
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -160,6 +160,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Base58 解码</h1>
@@ -290,6 +325,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Base58 编码</h1>
@@ -294,6 +329,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -203,9 +203,44 @@
transform: rotate(90deg);
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<a href="../.." class="back-link">
<span></span> 返回 JustHTMLs
@@ -369,6 +404,6 @@
convert();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -305,6 +305,6 @@
<p>&copy; 2025 JustHTMLs</p>
</footer>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Base64 URL 安全解码</h1>
@@ -276,6 +311,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Base64 URL 安全编码</h1>
@@ -273,6 +308,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>二进制转文本</h1>
@@ -275,6 +310,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>文本转二进制</h1>
@@ -271,6 +306,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -168,9 +168,44 @@
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>BMI 计算器</h1>
@@ -227,7 +262,7 @@
calculateBtn.addEventListener('click', calculate);
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,7 +161,7 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -179,9 +179,44 @@
color: var(--accent);
word-break: break-all;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>字节大小转换器</h1>
@@ -252,6 +287,6 @@
convertBytes();
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -160,6 +160,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>凯撒密码</h1>
@@ -278,6 +313,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -130,9 +130,44 @@
grid-template-columns: 1fr;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>大小写转换工具</h1>
@@ -338,6 +373,6 @@
document.head.appendChild(style);
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -147,6 +147,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -189,9 +189,44 @@
.preset-color:hover {
transform: scale(1.1);
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<a href="../.." class="back-link">
<span></span> 返回 JustHTMLs
@@ -377,6 +412,6 @@
updateColor(currentColor);
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -305,6 +305,6 @@
<p>&copy; 2025 JustHTMLs</p>
</footer>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -124,9 +124,44 @@
color: white;
background: #8b5cf6;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>颜色对比度检测</h1>
@@ -254,6 +289,6 @@
update();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -143,6 +143,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -241,9 +241,44 @@
font-size: 13px;
text-align: center;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>⏱️ 倒计时器</h1>
@@ -440,6 +475,6 @@
Notification.requestPermission();
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -108,6 +108,6 @@
</div>
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -149,9 +149,44 @@
grid-template-columns: 1fr;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Cron 表达式生成器</h1>
@@ -442,6 +477,6 @@
generate();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -145,6 +145,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -160,9 +160,44 @@
min-height: 300px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>CSS 压缩/格式化工具</h1>
@@ -333,6 +368,6 @@
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -144,6 +144,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -120,9 +120,44 @@
.error {
color: #b91c1c;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>CSV 转 JSON</h1>
@@ -279,6 +314,6 @@
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -143,6 +143,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>CSV 转 TSV</h1>
@@ -272,6 +307,6 @@ Bob,28`;
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+38 -2
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>CSV 转 YAML</h1>
@@ -226,7 +261,8 @@
<script>
function parseCSV(input, delimiter = ",") {
const rows = input.trim().split(/
const rows = input.trim().split(/
?
/).map(row => row.split(delimiter));
const headers = rows.shift();
return rows.map(row => Object.fromEntries(headers.map((h, i) => [h, row[i] ?? ""])));
@@ -295,6 +331,6 @@ Bob,28`;
}
</script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -222,9 +222,44 @@
.copy-toast.show {
opacity: 1;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>📜 每日一言</h1>
@@ -398,6 +433,6 @@
updateDate();
displayQuote(getDailyQuote());
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -108,6 +108,6 @@
</div>
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -111,9 +111,44 @@
.status.error {
color: #b91c1c;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>日期差值计算器</h1>
@@ -215,6 +250,6 @@
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -143,6 +143,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -176,9 +176,44 @@
color: var(--text-muted);
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>🎲 掷骰子工具</h1>
@@ -276,6 +311,6 @@
}
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -108,6 +108,6 @@
</div>
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -193,9 +193,44 @@
color: var(--text-muted);
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>🎋 抽签工具</h1>
@@ -327,6 +362,6 @@
drawBtn.addEventListener('click', drawLot);
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -108,6 +108,6 @@
</div>
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -179,9 +179,44 @@
color: var(--accent);
word-break: break-all;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Emoji 清理器</h1>
@@ -240,6 +275,6 @@
removeEmoji();
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -160,6 +160,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -125,9 +125,44 @@
font-size: 14px;
resize: none;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>Gitignore 生成器</h1>
@@ -194,6 +229,6 @@ Desktop.ini
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -168,9 +168,44 @@
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>渐变色生成器</h1>
@@ -232,7 +267,7 @@
updateGradient();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,7 +161,7 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -153,9 +153,44 @@
font-size: 1.8rem;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>哈希生成器</h1>
@@ -467,6 +502,6 @@
document.head.appendChild(style);
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -154,6 +154,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>HEX 解码</h1>
@@ -276,6 +311,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>HEX 编码</h1>
@@ -271,6 +306,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -118,9 +118,44 @@
grid-template-columns: 1fr;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>HTML 实体编码/解码</h1>
@@ -292,6 +327,6 @@
document.head.appendChild(style);
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -144,6 +144,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -168,9 +168,44 @@
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>HTML 格式化工具</h1>
@@ -241,7 +276,7 @@
document.execCommand('copy');
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,7 +161,7 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>HTML 压缩器</h1>
@@ -272,6 +307,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>HTML 转 Markdown</h1>
@@ -302,6 +337,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>HTML 转纯文本</h1>
@@ -271,6 +306,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -168,9 +168,44 @@
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>HTTP 状态码查询</h1>
@@ -239,7 +274,7 @@
render();
searchInput.addEventListener('input', (event) => render(event.target.value));
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,7 +161,7 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -170,9 +170,44 @@
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>图片压缩工具</h1>
@@ -297,7 +332,7 @@
});
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,7 +161,7 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -146,9 +146,44 @@
color: var(--text);
font-size: 12px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>图片裁剪</h1>
@@ -298,6 +333,6 @@
renderBtn.addEventListener('click', renderImage);
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,6 +161,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -145,9 +145,44 @@
color: var(--text);
font-size: 12px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>图片滤镜</h1>
@@ -305,6 +340,6 @@
resetBtn.addEventListener('click', resetFilters);
updateLabels();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,6 +161,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -168,9 +168,44 @@
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>图片尺寸调整</h1>
@@ -279,7 +314,7 @@
}, format, 0.92);
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,7 +161,7 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -150,9 +150,44 @@
color: var(--text);
font-size: 12px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>图片旋转翻转</h1>
@@ -275,6 +310,6 @@
updateAngleLabel();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,6 +161,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -141,9 +141,44 @@
color: var(--text);
font-size: 12px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>图片拼接</h1>
@@ -303,6 +338,6 @@
renderBtn.addEventListener('click', renderImage);
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,6 +161,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -316,9 +316,44 @@
flex-direction: column;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>图片 Base64 互转</h1>
@@ -741,6 +776,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -159,6 +159,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -168,9 +168,44 @@
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>图片转 WebP</h1>
@@ -247,7 +282,7 @@
}, 'image/webp', quality);
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,7 +161,7 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -145,9 +145,44 @@
color: var(--text);
font-size: 12px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>图片加水印</h1>
@@ -320,6 +355,6 @@
renderBtn.addEventListener('click', renderImage);
updateOpacityLabel();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,6 +161,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -168,9 +168,44 @@
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JavaScript 格式化工具</h1>
@@ -242,7 +277,7 @@
document.execCommand('copy');
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,7 +161,7 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JavaScript 压缩器</h1>
@@ -279,6 +314,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -168,9 +168,44 @@
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
font-size: 13px;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JSON 字符串转义</h1>
@@ -224,7 +259,7 @@
document.execCommand('copy');
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -161,7 +161,7 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -229,9 +229,44 @@
min-height: 300px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JSON 格式化工具</h1>
@@ -495,6 +530,6 @@
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -156,6 +156,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JSON 压缩器</h1>
@@ -272,6 +307,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JSON 键名排序</h1>
@@ -278,6 +313,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -120,9 +120,44 @@
.error {
color: #b91c1c;
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JSON 转 CSV</h1>
@@ -246,6 +281,6 @@
});
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -143,6 +143,6 @@
</div>
</div>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JSON 转 Markdown 表格</h1>
@@ -277,6 +312,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JSON 转 TSV</h1>
@@ -275,6 +310,6 @@
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -183,9 +183,44 @@
min-height: 240px;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<div class="header">
<h1>JSON 转 XML</h1>
@@ -282,6 +317,6 @@ function escapeXml(value) {
}
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+36 -1
View File
@@ -196,9 +196,44 @@
font-size: 1.5rem;
}
}
.tool-doc-link,
.tool-home-link {
position: fixed;
top: 16px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
color: #0f172a;
background: rgba(255, 255, 255, 0.9);
border: 1px solid rgba(15, 23, 42, 0.12);
text-decoration: none;
letter-spacing: 0.02em;
z-index: 9999;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.tool-doc-link {
right: 16px;
}
.tool-home-link {
right: 74px;
}
.tool-doc-link:hover,
.tool-home-link:hover {
background: rgba(255, 255, 255, 1);
border-color: rgba(15, 23, 42, 0.2);
transform: translateY(-1px);
}
</style>
</head>
<body>
<a class="tool-home-link" href="../../index.html">首页</a>
<a class="tool-doc-link" href="index.html">说明</a>
<div class="container">
<a href="../.." class="back-link">
<span></span> 返回 JustHTMLs
@@ -383,6 +418,6 @@
loadExample();
</script>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>
+1 -1
View File
@@ -365,6 +365,6 @@
</div>
</footer>
<script src="/assets/clicks.js" defer></script>
<script src="../../assets/clicks.js" defer></script>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More