mirror of
https://github.com/direct-img/direct-img.link.git
synced 2026-03-17 03:01:01 +00:00
Feat: Complete info migration from README to index
This commit is contained in:
144
index.html
144
index.html
@@ -26,7 +26,6 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,7 +33,6 @@
|
|||||||
max-width: 680px;
|
max-width: 680px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 80px 24px;
|
padding: 80px 24px;
|
||||||
flex: 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
@@ -51,7 +49,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.status-notice {
|
.status-notice {
|
||||||
padding: 16px;
|
padding: 20px;
|
||||||
background: #fff5f5;
|
background: #fff5f5;
|
||||||
border: 1px solid #ffe0e0;
|
border: 1px solid #ffe0e0;
|
||||||
border-radius: var(--radius);
|
border-radius: var(--radius);
|
||||||
@@ -60,22 +58,34 @@
|
|||||||
|
|
||||||
.status-notice p {
|
.status-notice p {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 0.95rem;
|
font-size: 1rem;
|
||||||
color: var(--text);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.status-notice strong {
|
.status-notice strong {
|
||||||
color: var(--warning);
|
color: var(--warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
.usage {
|
.btc-address {
|
||||||
|
font-family: monospace;
|
||||||
|
background: rgba(0,0,0,0.05);
|
||||||
|
padding: 4px 8px;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
word-break: break-all;
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
margin-bottom: 48px;
|
margin-bottom: 48px;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 1.25rem;
|
font-size: 1.5rem;
|
||||||
font-weight: 600;
|
font-weight: 700;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
border-bottom: 1px solid var(--border);
|
||||||
|
padding-bottom: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
@@ -91,11 +101,28 @@
|
|||||||
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
|
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
margin: 16px 0;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
th, td {
|
||||||
|
text-align: left;
|
||||||
|
padding: 12px;
|
||||||
|
border-bottom: 1px solid var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
color: var(--text-muted);
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
.grid {
|
.grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
gap: 16px;
|
gap: 16px;
|
||||||
margin-top: 24px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
@@ -115,17 +142,6 @@
|
|||||||
color: var(--text-muted);
|
color: var(--text-muted);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btc-address {
|
|
||||||
font-family: monospace;
|
|
||||||
background: var(--code-bg);
|
|
||||||
padding: 4px 8px;
|
|
||||||
border-radius: 4px;
|
|
||||||
font-size: 0.85rem;
|
|
||||||
word-break: break-all;
|
|
||||||
display: inline-block;
|
|
||||||
margin-top: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 680px;
|
max-width: 680px;
|
||||||
@@ -135,6 +151,7 @@
|
|||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
margin-top: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
@@ -160,43 +177,94 @@
|
|||||||
|
|
||||||
<section class="status-notice">
|
<section class="status-notice">
|
||||||
<p>
|
<p>
|
||||||
This service is <strong>free</strong> to use. However, API and infrastructure costs are significant.
|
This service is <strong>free</strong> to use. However, search API and server costs are high.
|
||||||
Without community donations, <strong>this project will die quickly.</strong>
|
Without community donations, <strong>this project will die quickly.</strong>
|
||||||
</p>
|
</p>
|
||||||
<div class="btc-address">BTC: bc1qkqdmhk0we49qn74ua9752ysfxzd7uxqettymhv</div>
|
<div class="btc-address">BTC: bc1qkqdmhk0we49qn74ua9752ysfxzd7uxqettymhv</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="usage">
|
<section>
|
||||||
|
<h2>URL Format</h2>
|
||||||
|
<p>Use <code>+</code> to separate words, just like a Google search. Encode special characters as needed.</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Query</th>
|
||||||
|
<th>URL Path</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>orange cat</td>
|
||||||
|
<td><code>/orange+cat</code></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>spider-man</td>
|
||||||
|
<td><code>/spider-man</code></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>90's fashion</td>
|
||||||
|
<td><code>/90%27s+fashion</code></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>"exact phrase"</td>
|
||||||
|
<td><code>/%22exact+phrase%22</code></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
<h2>Usage</h2>
|
<h2>Usage</h2>
|
||||||
<p>Give your AI a system instruction to embed images using this service. No uploads, no APIs, no tokens.</p>
|
<p>Embed directly in your markdown files or AI system prompts:</p>
|
||||||
<pre><code>
|
<pre><code></code></pre>
|
||||||
</code></pre>
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h2>Rate Limits</h2>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Scope</th>
|
||||||
|
<th>Limit</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Global Traffic</td>
|
||||||
|
<td>60 req/min per IP</td>
|
||||||
|
<td>Block (1 min)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Burst Protection</td>
|
||||||
|
<td>10 req/10s per IP</td>
|
||||||
|
<td>Challenge</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>New Searches</td>
|
||||||
|
<td>10 per day per IP</td>
|
||||||
|
<td>Cache only</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p style="font-size: 0.85rem; color: var(--text-muted);">* Cache hits are unlimited within global traffic limits.</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="grid">
|
<section class="grid">
|
||||||
<div class="card">
|
|
||||||
<h3>Rate Limits</h3>
|
|
||||||
<p>60 requests/min per IP. 10 new searches per day. Cache hits are unlimited.</p>
|
|
||||||
</div>
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Caching</h3>
|
<h3>Caching</h3>
|
||||||
<p>Images are cached for 30 days for instant delivery on subsequent requests.</p>
|
<p>Images are cached for 30 days. Subsequent requests for the same query are served instantly.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Privacy</h3>
|
<h3>Privacy</h3>
|
||||||
<p>No tracking or analytics. Queries are normalized and hashed before storage.</p>
|
<p>No tracking or analytics. Queries are normalized and hashed before being stored.</p>
|
||||||
</div>
|
|
||||||
<div class="card">
|
|
||||||
<h3>Open Source</h3>
|
|
||||||
<p>Self-host your own instance or contribute to the project on GitHub.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<div>
|
<div>Built for the AI era.</div>
|
||||||
Built for the AI era.
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<a href="https://github.com/direct-img/direct-img.link">GitHub</a>
|
<a href="https://github.com/direct-img/direct-img.link">GitHub</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user