fix: 1.修复路径错误;

2.取消加载远程资源,修复因onerror的错误写法导致内网使用时无法切换加载本地静态资源的问题

Closes #8
This commit is contained in:
搜索客
2026-01-05 16:20:01 +08:00
parent d3b05f9c8a
commit 4d18d4236e
64 changed files with 81 additions and 81 deletions
+4 -4
View File
@@ -19,7 +19,7 @@
<meta property="twitter:title" content="JustHTMLs - 开源 HTML 工具集">
<meta property="twitter:description" content="JustHTMLs 是一个开源的 HTML 工具集平台,汇集各种轻量级的在线工具,无需安装,即开即用。">
<link rel="icon" href="/favicon.svg">
<link rel="icon" href="favicon.svg">
<!-- Structured Data (JSON-LD) -->
<script type="application/ld+json">
@@ -66,7 +66,7 @@
}
</script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #6366f1;
@@ -603,7 +603,7 @@
<header>
<div class="container">
<div class="header-content">
<a href="/" class="logo">
<a href="./" class="logo">
<div class="logo-icon"></div>
<div>
<div class="logo-text">JustHTMLs</div>
@@ -877,7 +877,7 @@
async function loadHomeStats() {
try {
const response = await fetch('/api/clicks?ids=home');
const response = await fetch('api/clicks?ids=home');
if (!response.ok) {
return;
}
+1 -1
View File
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<link rel="icon" href="/favicon.svg">
<link rel="icon" href="favicon.svg">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>参考文档 - JustHTMLs</title>
+6 -6
View File
@@ -1,12 +1,12 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<link rel="icon" href="/favicon.svg">
<link rel="icon" href="favicon.svg">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>工具使用排行 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools-rank.html">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #6366f1;
@@ -211,7 +211,7 @@
<header>
<div class="container">
<div class="header-row">
<a class="back-link" href="/index.html"><i class="fas fa-arrow-left"></i> 返回首页</a>
<a class="back-link" href="./"><i class="fas fa-arrow-left"></i> 返回首页</a>
<div class="page-title">工具使用排行</div>
<div class="controls">
<label for="rank-metric">排行指标</label>
@@ -248,7 +248,7 @@
let stats = {};
async function loadTools() {
const response = await fetch('/index.json');
const response = await fetch('index.json');
if (!response.ok) {
throw new Error('加载工具列表失败');
}
@@ -259,7 +259,7 @@
async function loadStats() {
if (tools.length === 0) return;
const ids = tools.map(tool => tool.id).join(',');
const response = await fetch(`/api/clicks?ids=${encodeURIComponent(ids)}`);
const response = await fetch(`api/clicks?ids=${encodeURIComponent(ids)}`);
if (!response.ok) {
throw new Error('加载统计失败');
}
@@ -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.entry}">${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">
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Base32 解码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/base32-decode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #3b82f6;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Base32 编码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/base32-encode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #ef4444;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Base58 解码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/base58-decode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #f59e0b;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Base58 编码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/base58-encode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #10b981;
+2 -2
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Base64 编码解码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/base64-encode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #f093fb;
@@ -227,7 +227,7 @@
<body>
<header>
<div class="container">
<a href="/" class="back-link">
<a href="../../" class="back-link">
<i class="fas fa-arrow-left"></i>
返回首页
</a>
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Base64 URL 安全解码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/base64url-decode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #ec4899;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Base64 URL 安全编码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/base64url-encode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #8b5cf6;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>二进制转文本 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/binary-decode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #f43f5e;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文本转二进制 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/binary-encode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #eab308;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>凯撒密码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/caesar-cipher/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #0ea5e9;
+2 -2
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>颜色选择器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/color-picker/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #ff6b6b;
@@ -227,7 +227,7 @@
<body>
<header>
<div class="container">
<a href="/" class="back-link">
<a href="../../" class="back-link">
<i class="fas fa-arrow-left"></i>
返回首页
</a>
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSV 转 TSV - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/csv-to-tsv/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #eab308;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSV 转 YAML - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/csv-to-yaml/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #84cc16;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gitignore 生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/gitignore-generator/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #f59e0b;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HEX 解码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/hex-decode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #f97316;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HEX 编码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/hex-encode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #14b8a6;
+1 -1
View File
@@ -240,7 +240,7 @@
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/js-beautify@1.15.1/js/lib/beautify-html.js" onerror="this.onerror=null;this.src='/assets/vendor/js-beautify/beautify-html.js';"></script>
<script src="../../assets/vendor/js-beautify/beautify-html.js"></script>
<script>
const input = document.getElementById('input');
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML 压缩器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/html-minifier/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #4f46e5;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML 转 Markdown - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/html-to-markdown/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #dc2626;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML 转纯文本 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/html-to-text/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #f43f5e;
+2 -2
View File
@@ -6,8 +6,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>图片压缩工具</title>
<link rel="canonical" href="https://www.htmls.dev/tools/image-compressor/app.html">
<script src="https://cdn.jsdelivr.net/npm/pako@2.1.0/dist/pako.min.js" onerror="this.onerror=null;this.src='/assets/vendor/pako/pako.min.js';"></script>
<script src="https://cdn.jsdelivr.net/npm/upng-js@2.1.0/UPNG.min.js" onerror="this.onerror=null;this.src='/assets/vendor/upng-js/UPNG.min.js';"></script>
<script src="../../assets/vendor/pako/pako.min.js"></script>
<script src="../../assets/vendor/upng-js/UPNG.min.js"></script>
<style>
:root {
--accent: #22c55e;
+1 -1
View File
@@ -241,7 +241,7 @@
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/js-beautify@1.15.1/js/lib/beautify.js" onerror="this.onerror=null;this.src='/assets/vendor/js-beautify/beautify.js';"></script>
<script src="../../assets/vendor/js-beautify/beautify.js"></script>
<script>
const input = document.getElementById('input');
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JavaScript 压缩器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/js-minifier/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #16a34a;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON 压缩器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/json-minifier/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #0f766e;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON 键名排序 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/json-sorter/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #ef4444;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON 转 Markdown 表格 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/json-to-markdown/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #0f766e;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON 转 TSV - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/json-to-tsv/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #22c55e;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON 转 XML - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/json-to-xml/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #ec4899;
+3 -3
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON 转 YAML - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/json-to-yaml/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #6366f1;
@@ -281,7 +281,7 @@
<header>
<div class="container">
<div class="header-content">
<a href="/" class="back-link">
<a href="../../" class="back-link">
<i class="fas fa-arrow-left"></i>
返回首页
</a>
@@ -291,7 +291,7 @@
<main class="container">
<div class="breadcrumb">
<a href="/">首页</a> <i class="fas fa-chevron-right" style="margin: 0 8px; font-size: 10px;"></i> <a href="/">格式转换</a> <i class="fas fa-chevron-right" style="margin: 0 8px; font-size: 10px;"></i> JSON 转 YAML
<a href="../../">首页</a> <i class="fas fa-chevron-right" style="margin: 0 8px; font-size: 10px;"></i> <a href="../../">格式转换</a> <i class="fas fa-chevron-right" style="margin: 0 8px; font-size: 10px;"></i> JSON 转 YAML
</div>
<div class="tool-header">
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JWT 生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/jwt-generator/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #ef4444;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Markdown 转纯文本 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/markdown-to-text/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #16a34a;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Meta 标签生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/meta-tags-generator/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #14b8a6;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>摩斯电码解码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/morse-decode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #a855f7;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>摩斯电码编码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/morse-encode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #22c55e;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NanoID 生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/nanoid-generator/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #3b82f6;
+2 -2
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>安全密码生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/password-generator/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #667eea;
@@ -227,7 +227,7 @@
<body>
<header>
<div class="container">
<a href="/" class="back-link">
<a href="../../" class="back-link">
<i class="fas fa-arrow-left"></i>
返回首页
</a>
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>二维码生成器</title>
<link rel="canonical" href="https://www.htmls.dev/tools/qr-generator/app.html">
<script src="https://cdn.jsdelivr.net/npm/qrcodejs@1.0.0/qrcode.min.js" onerror="this.onerror=null;this.src='/assets/vendor/qrcodejs/qrcode.min.js';"></script>
<script src="../../assets/vendor/qrcodejs/qrcode.min.js"></script>
<style>
* {
margin: 0;
+2 -2
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>二维码生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/qr-generator/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #10b981;
@@ -227,7 +227,7 @@
<body>
<header>
<div class="container">
<a href="/" class="back-link">
<a href="../../" class="back-link">
<i class="fas fa-arrow-left"></i>
返回首页
</a>
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>随机数生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/random-number/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #f97316;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>随机抽取器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/random-picker/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #06b6d4;
+2 -2
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>正则表达式测试器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/regex-tester/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #a855f7;
@@ -227,7 +227,7 @@
<body>
<header>
<div class="container">
<a href="/" class="back-link">
<a href="../../" class="back-link">
<i class="fas fa-arrow-left"></i>
返回首页
</a>
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Robots.txt 生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/robots-txt-generator/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #8b5cf6;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ROT13 编码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/rot13/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #64748b;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sitemap 生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/sitemap-generator/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #ec4899;
+1 -1
View File
@@ -239,7 +239,7 @@
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/sql-formatter@15.4.3/dist/sql-formatter.min.js" onerror="this.onerror=null;this.src='/assets/vendor/sql-formatter/sql-formatter.min.js';"></script>
<script src="../../assets/vendor/sql-formatter/sql-formatter.min.js"></script>
<script>
const input = document.getElementById('input');
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SQL 压缩器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/sql-minifier/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #dc2626;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文本转 HTML - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/text-to-html/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #4f46e5;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TSV 转 CSV - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/tsv-to-csv/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #a855f7;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TSV 转 JSON - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/tsv-to-json/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #0ea5e9;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ULID 生成器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/ulid-generator/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #10b981;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Unicode 转义 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/unicode-escape/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #06b6d4;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Unicode 反转义 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/unicode-unescape/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #84cc16;
+2 -2
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>URL 编码解码 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/url-encode/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #06b6d4;
@@ -227,7 +227,7 @@
<body>
<header>
<div class="container">
<a href="/" class="back-link">
<a href="../../" class="back-link">
<i class="fas fa-arrow-left"></i>
返回首页
</a>
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>XML 格式化工具 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/xml-formatter/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #3b82f6;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>XML 压缩器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/xml-minifier/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #10b981;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>XML 转 YAML - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/xml-to-yaml/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #f97316;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>YAML 格式化工具 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/yaml-formatter/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #f59e0b;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>YAML 压缩器 - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/yaml-minifier/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #8b5cf6;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>YAML 转 CSV - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/yaml-to-csv/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #64748b;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>YAML 转 JSON - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/yaml-to-json/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #14b8a6;
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>YAML 转 XML - JustHTMLs</title>
<link rel="canonical" href="https://www.htmls.dev/tools/yaml-to-xml/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" onerror="this.onerror=null;this.href='/assets/vendor/fontawesome/css/all.min.css';">
<link rel="stylesheet" href="../../assets/vendor/fontawesome/css/all.min.css">
<style>
:root {
--primary: #06b6d4;