Files
metajs-customizer/index.html
T
xixu-me 8c93cc0e9e Refactor project structure and update documentation
Moved scripts, styles, and templates into the src/ directory for better organization. Updated index.html to reference new file paths. Enhanced README.md with detailed usage, architecture, accessibility, and contribution guidelines. Added documentation headers to main.js, main.css, and meta-template.js for clarity and maintainability.
2025-07-14 11:59:46 +08:00

196 lines
6.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Basic Meta Tags -->
<title>META.js Customizer - Create Custom META.js</title>
<meta
name="description"
content="Create your custom META.js with service rulesets from xixu-me/RFM. Easy-to-use web interface for generating META.js."
/>
<meta
name="keywords"
content="META.js, customizer, web development, service rulesets, RFM, xixu-me, favicons, JavaScript"
/>
<meta name="author" content="xixu-me" />
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://metajs.xi-xu.me" />
<meta
property="og:title"
content="META.js Customizer - Create Custom META.js"
/>
<meta
property="og:description"
content="Create your custom META.js with service rulesets from xixu-me/RFM. Easy-to-use web interface for generating META.js."
/>
<meta property="og:site_name" content="META.js Customizer" />
<!-- Twitter -->
<meta name="twitter:url" content="https://metajs.xi-xu.me" />
<meta
name="twitter:title"
content="META.js Customizer - Create Custom META.js"
/>
<meta
name="twitter:description"
content="Create your custom META.js with service rulesets from xixu-me/RFM. Easy-to-use web interface for generating META.js."
/>
<meta name="twitter:creator" content="@xixu_me" />
<meta name="twitter:site" content="@xixu_me" />
<!-- Canonical URL -->
<link rel="canonical" href="https://metajs.xi-xu.me" />
<!-- Preconnect for Performance -->
<link rel="preconnect" href="https://cdnjs.cloudflare.com" />
<link rel="preconnect" href="https://github.com" />
<!-- Stylesheets -->
<link rel="stylesheet" href="src/styles/main.css" />
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css"
rel="stylesheet"
/>
</head>
<body>
<div class="theme-toggle">
<button id="theme-toggle" aria-label="Toggle dark mode">
<i class="fas fa-moon"></i>
</button>
</div>
<div class="container">
<header class="header">
<h1><i class="fas fa-cogs"></i> META.js Customizer</h1>
<p class="subtitle">
Create your custom META.js of
<a href="https://github.com/xixu-me/META" target="_blank">
<i class="fab fa-github"></i> xixu-me/META</a
>
with service rulesets from
<a href="https://github.com/xixu-me/RFM" target="_blank">
<i class="fab fa-github"></i> xixu-me/RFM</a
>
</p>
</header>
<div id="services-container" class="card">
<div class="card-header">
<h2><i class="fas fa-list"></i> Services</h2>
</div>
<div class="card-content">
<div class="routing-priority-reminder">
<i class="fas fa-exclamation-triangle warning-icon"></i>
<div class="content">
<strong>Routing Priority:</strong>
<span>
Routing rules are matched in order from top to bottom, with the
rule at the top of the list taking precedence over the rules
below it.
</span>
</div>
</div>
<div class="services-controls">
<div class="search-container">
<div class="search-input-wrapper">
<i class="fas fa-search search-icon"></i>
<input
type="text"
id="search-input"
placeholder="Search and add services..."
/>
</div>
<div class="services-count">
<i class="fas fa-check-circle"></i>
<span id="selected-count">0 selected</span>
</div>
</div>
<div id="search-results" class="search-results"></div>
</div>
<div id="selected-services">
<div class="no-services">
<i class="fas fa-inbox"></i>
<p>No services selected</p>
<small>Search for services above to get started</small>
</div>
</div>
</div>
</div>
<div id="output-container" class="card">
<div class="card-header">
<h2><i class="fas fa-code"></i> Generated META.js</h2>
</div>
<div class="card-content">
<div class="output-actions">
<button id="copyButton" class="btn btn-primary">
<i class="fas fa-copy"></i> Copy
</button>
<button id="downloadButton" class="btn btn-secondary">
<i class="fas fa-download"></i> Download
</button>
</div>
</div>
</div>
<div class="info-banner card">
<div class="card-header">
<h2><i class="fas fa-info-circle"></i> Icon Configuration Guide</h2>
</div>
<div class="card-content">
<div class="info-content">
<p>
Service icons are sourced from
<a href="https://github.com/xixu-me/favicons" target="_blank">
<i class="fab fa-github"></i> xixu-me/favicons</a
>. Auto-generated configurations may require manual adjustments
based on availability.
</p>
<h3><i class="fas fa-cog"></i> Configuration Rules</h3>
<ul>
<li>
<strong>Icon unavailable:</strong> Uses specific
<code>domain</code>
<span class="example"
>(e.g., "xiaohongshu.com" for rednote)</span
>
</li>
<li>
<strong>Name matches SLD:</strong> Uses only <code>tld</code>
<span class="example"
>(e.g., "github" → <code>tld: "com"</code>)</span
>
</li>
<li>
<strong>Name does not match SLD:</strong> Adds <code>sld</code>
<span class="example"
>(e.g., "xai" → <code>sld: "x", tld: "ai"</code>)</span
>
</li>
</ul>
</div>
</div>
</div>
<footer class="footer">
<p>
<i class="fas fa-code-branch"></i>
This web app is open source at
<a
href="https://github.com/xixu-me/META.js-Customizer"
target="_blank"
><i class="fab fa-github"></i> xixu-me/META.js-Customizer</a
>
</p>
</footer>
</div>
<script src="src/templates/meta-template.js"></script>
<script src="src/scripts/main.js"></script>
</body>
</html>