Skip to content

Commit 14743d1

Browse files
IanYeh0516claude
andcommitted
Add LICENSE and GitHub Pages landing page for SEO
- Add MIT LICENSE file (referenced by README badge but was missing) - Add docs/index.html with full SEO meta tags, Open Graph, Twitter Card, and JSON-LD structured data Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7f7ca37 commit 14743d1

2 files changed

Lines changed: 258 additions & 0 deletions

File tree

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Ian Yeh
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

docs/index.html

Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>CardForge — Batch Business Card Generator from Excel</title>
7+
<meta name="description" content="Free, open-source business card generator. Convert Excel spreadsheets into print-ready PDF and JPEG name cards in seconds. No design software required.">
8+
<meta name="keywords" content="business card generator, batch name card, Excel to PDF, business card maker, 名片產生器, 批次名片, open source">
9+
<meta name="author" content="Ian Yeh">
10+
<link rel="canonical" href="https://ianyeh0516.github.io/CardForge/">
11+
12+
<!-- Open Graph -->
13+
<meta property="og:type" content="website">
14+
<meta property="og:title" content="CardForge — Batch Business Card Generator from Excel">
15+
<meta property="og:description" content="Free, open-source tool to batch-generate print-ready business cards from Excel. No Canva, no Adobe, no subscriptions.">
16+
<meta property="og:url" content="https://ianyeh0516.github.io/CardForge/">
17+
<meta property="og:site_name" content="CardForge">
18+
19+
<!-- Twitter Card -->
20+
<meta name="twitter:card" content="summary_large_image">
21+
<meta name="twitter:title" content="CardForge — Batch Business Card Generator from Excel">
22+
<meta name="twitter:description" content="Free, open-source tool to batch-generate print-ready business cards from Excel.">
23+
24+
<!-- Structured Data -->
25+
<script type="application/ld+json">
26+
{
27+
"@context": "https://schema.org",
28+
"@type": "SoftwareApplication",
29+
"name": "CardForge",
30+
"description": "Free, open-source business card generator that converts Excel spreadsheets into print-ready PDF and JPEG name cards.",
31+
"applicationCategory": "BusinessApplication",
32+
"operatingSystem": "Windows, macOS, Linux",
33+
"offers": {
34+
"@type": "Offer",
35+
"price": "0",
36+
"priceCurrency": "USD"
37+
},
38+
"author": {
39+
"@type": "Person",
40+
"name": "Ian Yeh",
41+
"url": "https://github.com/IanYeh0516"
42+
},
43+
"license": "https://opensource.org/licenses/MIT",
44+
"codeRepository": "https://github.com/IanYeh0516/CardForge",
45+
"programmingLanguage": ["Python", "JavaScript"],
46+
"softwareRequirements": "Python 3.10+"
47+
}
48+
</script>
49+
50+
<style>
51+
:root {
52+
--bg: #0d1117;
53+
--surface: #161b22;
54+
--border: #30363d;
55+
--text: #e6edf3;
56+
--text-muted: #8b949e;
57+
--accent: #58a6ff;
58+
--accent-hover: #79c0ff;
59+
--green: #3fb950;
60+
}
61+
* { margin: 0; padding: 0; box-sizing: border-box; }
62+
body {
63+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
64+
background: var(--bg);
65+
color: var(--text);
66+
line-height: 1.6;
67+
}
68+
a { color: var(--accent); text-decoration: none; }
69+
a:hover { color: var(--accent-hover); text-decoration: underline; }
70+
71+
.hero {
72+
text-align: center;
73+
padding: 80px 20px 60px;
74+
max-width: 800px;
75+
margin: 0 auto;
76+
}
77+
.hero h1 {
78+
font-size: 2.8rem;
79+
font-weight: 700;
80+
margin-bottom: 16px;
81+
}
82+
.hero h1 span { color: var(--accent); }
83+
.hero p {
84+
font-size: 1.25rem;
85+
color: var(--text-muted);
86+
margin-bottom: 32px;
87+
max-width: 600px;
88+
margin-left: auto;
89+
margin-right: auto;
90+
}
91+
.hero-buttons {
92+
display: flex;
93+
gap: 16px;
94+
justify-content: center;
95+
flex-wrap: wrap;
96+
}
97+
.btn {
98+
display: inline-block;
99+
padding: 12px 28px;
100+
border-radius: 8px;
101+
font-size: 1rem;
102+
font-weight: 600;
103+
transition: all 0.2s;
104+
}
105+
.btn-primary {
106+
background: var(--accent);
107+
color: var(--bg);
108+
}
109+
.btn-primary:hover { background: var(--accent-hover); text-decoration: none; }
110+
.btn-outline {
111+
border: 1px solid var(--border);
112+
color: var(--text);
113+
}
114+
.btn-outline:hover { border-color: var(--text-muted); text-decoration: none; }
115+
116+
.features {
117+
max-width: 900px;
118+
margin: 0 auto;
119+
padding: 40px 20px 80px;
120+
display: grid;
121+
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
122+
gap: 24px;
123+
}
124+
.feature-card {
125+
background: var(--surface);
126+
border: 1px solid var(--border);
127+
border-radius: 12px;
128+
padding: 28px;
129+
}
130+
.feature-card h3 {
131+
font-size: 1.1rem;
132+
margin-bottom: 8px;
133+
}
134+
.feature-card p {
135+
color: var(--text-muted);
136+
font-size: 0.95rem;
137+
}
138+
.feature-icon {
139+
font-size: 1.5rem;
140+
margin-bottom: 12px;
141+
}
142+
143+
.tech-section {
144+
max-width: 900px;
145+
margin: 0 auto;
146+
padding: 0 20px 80px;
147+
text-align: center;
148+
}
149+
.tech-section h2 {
150+
font-size: 1.5rem;
151+
margin-bottom: 24px;
152+
}
153+
.tech-badges {
154+
display: flex;
155+
gap: 12px;
156+
justify-content: center;
157+
flex-wrap: wrap;
158+
}
159+
.badge {
160+
background: var(--surface);
161+
border: 1px solid var(--border);
162+
padding: 8px 16px;
163+
border-radius: 20px;
164+
font-size: 0.9rem;
165+
color: var(--text-muted);
166+
}
167+
168+
footer {
169+
text-align: center;
170+
padding: 40px 20px;
171+
border-top: 1px solid var(--border);
172+
color: var(--text-muted);
173+
font-size: 0.9rem;
174+
}
175+
</style>
176+
</head>
177+
<body>
178+
<section class="hero">
179+
<h1><span>CardForge</span></h1>
180+
<p>Batch-generate print-ready business cards from Excel spreadsheets. Free, open-source, runs entirely on your machine.</p>
181+
<p style="font-size: 1rem;">從 Excel 批次產生印刷級名片。免費開源,完全本機運行。</p>
182+
<div class="hero-buttons">
183+
<a href="https://github.com/IanYeh0516/CardForge" class="btn btn-primary">View on GitHub</a>
184+
<a href="https://github.com/IanYeh0516/CardForge#quick-start" class="btn btn-outline">Quick Start</a>
185+
</div>
186+
</section>
187+
188+
<section class="features">
189+
<article class="feature-card">
190+
<div class="feature-icon">📊</div>
191+
<h3>Excel Import</h3>
192+
<p>Upload your .xlsx file. Columns are auto-mapped to card fields — no manual config needed.</p>
193+
</article>
194+
<article class="feature-card">
195+
<div class="feature-icon">🎨</div>
196+
<h3>Live Visual Editor</h3>
197+
<p>Drag fields, adjust fonts, colors, and alignment in real time. WYSIWYG card design.</p>
198+
</article>
199+
<article class="feature-card">
200+
<div class="feature-icon">🖨️</div>
201+
<h3>Batch Export</h3>
202+
<p>Generate PDF + JPEG for every employee at once. 300 DPI, print-ready quality.</p>
203+
</article>
204+
<article class="feature-card">
205+
<div class="feature-icon">🖼️</div>
206+
<h3>Custom Templates</h3>
207+
<p>Upload your own front and back card backgrounds. Full control over the design.</p>
208+
</article>
209+
<article class="feature-card">
210+
<div class="feature-icon">🔒</div>
211+
<h3>100% Local</h3>
212+
<p>Your data never leaves your machine. No cloud, no accounts, no subscriptions.</p>
213+
</article>
214+
<article class="feature-card">
215+
<div class="feature-icon">💻</div>
216+
<h3>Cross-Platform</h3>
217+
<p>Works on macOS, Windows, and Linux with a single startup command.</p>
218+
</article>
219+
</section>
220+
221+
<section class="tech-section">
222+
<h2>Built With</h2>
223+
<div class="tech-badges">
224+
<span class="badge">Python 3.10+</span>
225+
<span class="badge">Flask</span>
226+
<span class="badge">Pillow</span>
227+
<span class="badge">ReportLab</span>
228+
<span class="badge">openpyxl</span>
229+
<span class="badge">SQLite</span>
230+
</div>
231+
</section>
232+
233+
<footer>
234+
<p>MIT License &copy; 2025 Ian Yeh &middot; <a href="https://github.com/IanYeh0516/CardForge">GitHub</a></p>
235+
</footer>
236+
</body>
237+
</html>

0 commit comments

Comments
 (0)