1+ <!DOCTYPE html>
2+ < html lang ="en " class ="scroll-smooth ">
3+
4+ < head >
5+ < meta charset ="UTF-8 ">
6+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 ">
7+ < title > CaesarCipher.extended | Next-Gen Encryption</ title >
8+ < script src ="https://cdn.tailwindcss.com "> </ script >
9+ < link href ="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css " rel ="stylesheet ">
10+ < link
11+ href ="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Space+Grotesk:wght@300;500;700&display=swap "
12+ rel ="stylesheet ">
13+ < link rel ="stylesheet " href ="style.css ">
14+
15+ < script >
16+ tailwind . config = {
17+ theme : {
18+ extend : {
19+ fontFamily : {
20+ sans : [ 'Space Grotesk' , 'sans-serif' ] ,
21+ mono : [ 'JetBrains Mono' , 'monospace' ] ,
22+ } ,
23+ colors : {
24+ cyber : {
25+ black : '#020617' ,
26+ dark : '#0f172a' ,
27+ primary : '#00f3ff' , /* Electric Cyan */
28+ secondary : '#9d4edd' , /* Neon Purple */
29+ accent : '#ff0055' , /* Cyber Pink */
30+ }
31+ } ,
32+ animation : {
33+ 'glitch' : 'glitch 1s linear infinite' ,
34+ } ,
35+ keyframes : {
36+ glitch : {
37+ '2%, 64%' : { transform : 'translate(2px,0) skew(0deg)' } ,
38+ '4%, 60%' : { transform : 'translate(-2px,0) skew(0deg)' } ,
39+ '62%' : { transform : 'translate(0,0) skew(5deg)' } ,
40+ }
41+ }
42+ }
43+ }
44+ }
45+ </ script >
46+ </ head >
47+
48+ < body >
49+
50+ < div class ="fixed inset-0 z-[-1] bg-grid opacity-20 pointer-events-none "> </ div >
51+ < div class ="fixed inset-0 z-[-2] ">
52+ < div
53+ class ="absolute top-[-10%] left-[-10%] w-[40%] h-[40%] bg-cyber-secondary rounded-full blur-[120px] opacity-20 animate-pulse ">
54+ </ div >
55+ < div
56+ class ="absolute bottom-[-10%] right-[-10%] w-[40%] h-[40%] bg-cyber-primary rounded-full blur-[120px] opacity-10 animate-pulse "
57+ style ="animation-delay: 2s; "> </ div >
58+ </ div >
59+
60+ < nav class ="fixed w-full z-50 top-0 backdrop-blur-md border-b border-white/10 bg-cyber-black/70 ">
61+ < div class ="max-w-7xl mx-auto flex items-center justify-between p-4 ">
62+ < a href ="# " class ="group ">
63+ < span class ="text-xl font-bold tracking-tight text-white group-hover:text-cyber-primary transition-colors ">
64+ Caesar< span class ="font-light opacity-70 "> Cipher</ span > < span class ="text-cyber-primary "> .extended</ span >
65+ </ span >
66+ </ a >
67+
68+ < div class ="flex gap-4 ">
69+ < a href ="https://pypi.org/project/CaesarCipher.extended/ " target ="_blank "
70+ class ="hidden md:flex items-center gap-2 px-4 py-2 rounded-full border border-white/10 hover:border-cyber-primary/50 hover:bg-white/5 transition-all text-sm font-mono text-gray-400 hover:text-white ">
71+ < i class ="fa-brands fa-python "> </ i > PyPI v2.9.1
72+ </ a >
73+ < a href ="https://github.com/ViratiAkiraNandhanReddy/CaesarCipher.extended " target ="_blank "
74+ class ="flex items-center gap-2 px-5 py-2 rounded-full bg-white text-black font-bold hover:bg-cyber-primary hover:shadow-[0_0_20px_rgba(0,243,255,0.4)] transition-all transform hover:-translate-y-0.5 ">
75+ < i class ="fa-brands fa-github "> </ i >
76+ < span > Star</ span >
77+ </ a >
78+ </ div >
79+ </ div >
80+ </ nav >
81+
82+ < section class ="min-h-screen flex items-center justify-center relative pt-20 px-4 ">
83+ < div class ="text-center max-w-5xl mx-auto z-10 ">
84+ < div
85+ class ="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-cyber-primary/10 border border-cyber-primary/30 text-cyber-primary text-xs font-mono mb-8 ">
86+ < span class ="w-2 h-2 rounded-full bg-cyber-primary "> </ span >
87+ ACTIVE MAINTENANCE
88+ </ div >
89+
90+ < h1 class ="text-6xl md:text-8xl font-black tracking-tighter mb-6 leading-tight ">
91+ ENCRYPT < br >
92+ < div class ="glitch-wrapper ">
93+ < span class ="glitch-text text-transparent bg-clip-text bg-gradient-to-r from-white via-gray-200 to-gray-500 "
94+ data-text ="EVERYTHING "> EVERYTHING</ span >
95+ </ div >
96+ </ h1 >
97+
98+ < p class ="text-xl md:text-2xl text-gray-400 mb-10 max-w-2xl mx-auto font-light ">
99+ Shift reality, not just letters. The Python library that brings the Caesar Cipher into the modern era with < span
100+ class ="text-cyber-primary font-bold "> Digit</ span > , < span class ="text-cyber-secondary font-bold "> Symbol</ span >
101+ & < span class ="text-pink-500 font-bold "> Emoji</ span > support.
102+ </ p >
103+
104+ < div class ="flex flex-col sm:flex-row justify-center gap-5 items-center ">
105+ < div class ="relative group cursor-pointer " onclick ="copyInstall() ">
106+ < div
107+ class ="absolute -inset-1 bg-gradient-to-r from-cyber-primary to-cyber-secondary rounded-xl blur opacity-25 group-hover:opacity-100 transition duration-500 ">
108+ </ div >
109+ < div
110+ class ="relative flex items-center bg-gray-900 rounded-xl px-8 py-4 border border-white/10 hover:border-white/30 transition-colors ">
111+ < span class ="font-mono text-cyber-primary mr-4 "> $ pip install CaesarCipher.extended</ span >
112+ < i class ="fa-regular fa-copy text-gray-500 group-hover:text-white transition-colors "> </ i >
113+ </ div >
114+ < div id ="copyToast "
115+ class ="absolute top-full left-1/2 -translate-x-1/2 mt-2 text-xs text-green-400 opacity-0 transition "> Copied!
116+ </ div >
117+ </ div >
118+
119+ < a href ="#demo "
120+ class ="px-8 py-4 rounded-xl border border-white/10 hover:bg-white/5 font-bold transition-all flex items-center gap-2 group ">
121+ Live Demo
122+ < i class ="fa-solid fa-arrow-right group-hover:translate-x-1 transition-transform "> </ i >
123+ </ a >
124+ </ div >
125+
126+ < div
127+ class ="mt-16 flex justify-center gap-4 flex-wrap opacity-60 hover:opacity-100 transition-opacity grayscale hover:grayscale-0 duration-500 ">
128+ < img
129+ src ="https://img.shields.io/pypi/dm/CaesarCipher.extended?style=for-the-badge&color=00f3ff&labelColor=0f172a "
130+ alt ="Downloads ">
131+ < img
132+ src ="https://img.shields.io/github/license/ViratiAkiraNandhanReddy/CaesarCipher.extended?style=for-the-badge&color=9d4edd&labelColor=0f172a "
133+ alt ="License ">
134+ < img
135+ src ="https://img.shields.io/github/stars/ViratiAkiraNandhanReddy/CaesarCipher.extended?style=for-the-badge&color=ff0055&labelColor=0f172a "
136+ alt ="Stars ">
137+ </ div >
138+ </ div >
139+ </ section >
140+
141+ < section id ="demo " class ="py-24 relative overflow-hidden ">
142+ < div
143+ class ="absolute top-0 right-0 text-8xl text-white opacity-[0.02] font-mono font-bold select-none rotate-12 translate-x-1/4 ">
144+ cipher.encrypt()
145+ </ div >
146+
147+ < div class ="container mx-auto px-4 ">
148+ < div class ="flex flex-col lg:flex-row gap-12 items-center ">
149+
150+ < div class ="lg:w-1/3 text-left ">
151+ < h2 class ="text-4xl font-bold mb-6 border-l-4 border-cyber-primary pl-6 ">
152+ Interactive< br > Playground
153+ </ h2 >
154+ < p class ="text-gray-400 mb-8 leading-relaxed ">
155+ Don't just trust the docs. Test the algorithm right here. This interface mimics the Python library's logic
156+ using a JavaScript port. Supports numbers, symbols, and preservation of case.
157+ </ p >
158+
159+ < div class ="space-y-4 ">
160+ < div class ="flex items-center gap-4 p-4 rounded-lg bg-white/5 border border-white/5 ">
161+ < div
162+ class ="w-10 h-10 rounded-full bg-cyber-primary/20 flex items-center justify-center text-cyber-primary ">
163+ < i class ="fa-solid fa-bolt "> </ i >
164+ </ div >
165+ < div >
166+ < h4 class ="font-bold text-white "> Instant Feedback</ h4 >
167+ < p class ="text-xs text-gray-500 "> Real-time encryption as you type</ p >
168+ </ div >
169+ </ div >
170+ < div class ="flex items-center gap-4 p-4 rounded-lg bg-white/5 border border-white/5 ">
171+ < div
172+ class ="w-10 h-10 rounded-full bg-cyber-secondary/20 flex items-center justify-center text-cyber-secondary ">
173+ < i class ="fa-solid fa-shield-cat "> </ i >
174+ </ div >
175+ < div >
176+ < h4 class ="font-bold text-white "> Secure Logic</ h4 >
177+ < p class ="text-xs text-gray-500 "> Same algorithm as the Python package</ p >
178+ </ div >
179+ </ div >
180+ </ div >
181+ </ div >
182+
183+ < div class ="lg:w-2/3 w-full ">
184+ < div class ="rounded-xl overflow-hidden bg-[#0d1117] border border-gray-700 terminal-shadow relative group ">
185+ < div class ="bg-[#161b22] px-4 py-3 flex items-center justify-between border-b border-gray-700 ">
186+ < div class ="flex gap-2 ">
187+ < div class ="w-3 h-3 rounded-full bg-[#ff5f56] "> </ div >
188+ < div class ="w-3 h-3 rounded-full bg-[#ffbd2e] "> </ div >
189+ < div class ="w-3 h-3 rounded-full bg-[#27c93f] "> </ div >
190+ </ div >
191+ < div class ="text-xs font-mono text-gray-500 "> python3 -m CaesarCipher.extended</ div >
192+ < div class ="text-gray-500 "> < i class ="fa-solid fa-terminal "> </ i > </ div >
193+ </ div >
194+
195+ < div class ="p-6 font-mono text-sm ">
196+ < div class ="mb-6 ">
197+ < label class ="text-gray-500 mb-2 block text-xs uppercase tracking-wider "> Input Text</ label >
198+ < div class ="flex ">
199+ < span class ="text-green-500 mr-3 "> ➜</ span >
200+ < textarea id ="demoInput " rows ="2 "
201+ class ="w-full bg-transparent border-none focus:ring-0 text-white p-0 resize-none outline-none placeholder-gray-700 "
202+ placeholder ="Type your secret message here... "> Hello, World! 123</ textarea >
203+ </ div >
204+ </ div >
205+
206+ < div class ="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8 p-4 bg-white/5 rounded-lg border border-white/5 ">
207+ < div >
208+ < div class ="flex justify-between mb-2 ">
209+ < span class ="text-cyber-primary "> Shift Key</ span >
210+ < span id ="shiftVal " class ="text-white font-bold "> 3</ span >
211+ </ div >
212+ < input type ="range " id ="shiftRange " min ="1 " max ="25 " value ="3 "
213+ class ="w-full h-1 bg-gray-700 rounded-lg appearance-none cursor-pointer accent-cyber-primary ">
214+ </ div >
215+ < div class ="flex flex-col gap-2 ">
216+ < label class ="flex items-center cursor-pointer select-none ">
217+ < input type ="checkbox " id ="alterNumbers " class ="hidden peer ">
218+ < div
219+ class ="w-4 h-4 border border-gray-500 rounded flex items-center justify-center peer-checked:bg-cyber-primary peer-checked:border-cyber-primary mr-3 transition-colors ">
220+ < i class ="fa-solid fa-check text-black text-[10px] opacity-0 peer-checked:opacity-100 "> </ i >
221+ </ div >
222+ < span class ="text-gray-300 peer-checked:text-white transition-colors "> Alter Numbers (0-9)</ span >
223+ </ label >
224+ < label class ="flex items-center cursor-pointer select-none ">
225+ < input type ="checkbox " id ="alterSymbols " class ="hidden peer ">
226+ < div
227+ class ="w-4 h-4 border border-gray-500 rounded flex items-center justify-center peer-checked:bg-cyber-secondary peer-checked:border-cyber-secondary mr-3 transition-colors ">
228+ < i class ="fa-solid fa-check text-black text-[10px] opacity-0 peer-checked:opacity-100 "> </ i >
229+ </ div >
230+ < span class ="text-gray-300 peer-checked:text-white transition-colors "> Alter Symbols (!@#)</ span >
231+ </ label >
232+ </ div >
233+ </ div >
234+
235+ < div class ="relative ">
236+ < label class ="text-gray-500 mb-2 block text-xs uppercase tracking-wider "> Encrypted Output</ label >
237+ < div
238+ class ="w-full bg-black/50 border border-gray-700 rounded p-4 text-cyber-primary min-h-[80px] break-all relative group-focus-within:border-cyber-primary/50 transition-colors ">
239+ < span id ="demoOutput "> ...</ span >
240+ < button onclick ="copyOutput() "
241+ class ="absolute top-2 right-2 text-gray-600 hover:text-white transition-colors ">
242+ < i class ="fa-regular fa-clone "> </ i >
243+ </ button >
244+ </ div >
245+ </ div >
246+ </ div >
247+ </ div >
248+ </ div >
249+ </ div >
250+ </ div >
251+ </ section >
252+
253+ < section class ="py-24 bg-cyber-dark/50 " onmousemove ="handleMouseMove(event) ">
254+ < div class ="container mx-auto px-4 ">
255+ < div class ="text-center mb-16 ">
256+ < h2 class ="text-3xl font-bold mb-4 "> Why use this Package?</ h2 >
257+ < div class ="h-1 w-20 bg-cyber-primary mx-auto rounded-full "> </ div >
258+ </ div >
259+
260+ < div class ="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 " id ="card-grid ">
261+ < div class ="spotlight-card rounded-2xl p-8 ">
262+ < div
263+ class ="w-12 h-12 rounded-lg bg-blue-500/10 flex items-center justify-center text-blue-400 mb-6 text-2xl border border-blue-500/20 ">
264+ < i class ="fa-solid fa-arrow-down-1-9 "> </ i >
265+ </ div >
266+ < h3 class ="text-xl font-bold mb-3 text-white "> Full Number Shifting</ h3 >
267+ < p class ="text-gray-400 text-sm leading-relaxed ">
268+ Classic Caesar ignores numbers. We don't. Shift "123" to "456" securely while maintaining formatting.
269+ </ p >
270+ </ div >
271+
272+ < div class ="spotlight-card rounded-2xl p-8 ">
273+ < div
274+ class ="w-12 h-12 rounded-lg bg-purple-500/10 flex items-center justify-center text-purple-400 mb-6 text-2xl border border-purple-500/20 ">
275+ < i class ="fa-solid fa-icons "> </ i >
276+ </ div >
277+ < h3 class ="text-xl font-bold mb-3 text-white "> Symbol & Emoji</ h3 >
278+ < p class ="text-gray-400 text-sm leading-relaxed ">
279+ Encrypt special characters and emojis. Turn "Hello 😊" into hidden cipher text effortlessly.
280+ </ p >
281+ </ div >
282+
283+ < div class ="spotlight-card rounded-2xl p-8 ">
284+ < div
285+ class ="w-12 h-12 rounded-lg bg-green-500/10 flex items-center justify-center text-green-400 mb-6 text-2xl border border-green-500/20 ">
286+ < i class ="fa-solid fa-file-code "> </ i >
287+ </ div >
288+ < h3 class ="text-xl font-bold mb-3 text-white "> File Operations</ h3 >
289+ < p class ="text-gray-400 text-sm leading-relaxed ">
290+ Direct < code > .encrypt_file()</ code > methods to handle I/O safely in-place. No more manual read/write loops.
291+ </ p >
292+ </ div >
293+
294+ < div class ="spotlight-card rounded-2xl p-8 ">
295+ < div
296+ class ="w-12 h-12 rounded-lg bg-pink-500/10 flex items-center justify-center text-pink-400 mb-6 text-2xl border border-pink-500/20 ">
297+ < i class ="fa-brands fa-python "> </ i >
298+ </ div >
299+ < h3 class ="text-xl font-bold mb-3 text-white "> Pure Python</ h3 >
300+ < p class ="text-gray-400 text-sm leading-relaxed ">
301+ Zero dependencies. Lightweight. Just install and import. Works on Python 3.11+.
302+ </ p >
303+ </ div >
304+
305+ < div class ="spotlight-card rounded-2xl p-8 ">
306+ < div
307+ class ="w-12 h-12 rounded-lg bg-yellow-500/10 flex items-center justify-center text-yellow-400 mb-6 text-2xl border border-yellow-500/20 ">
308+ < i class ="fa-solid fa-check-double "> </ i >
309+ </ div >
310+ < h3 class ="text-xl font-bold mb-3 text-white "> Type Safe</ h3 >
311+ < p class ="text-gray-400 text-sm leading-relaxed ">
312+ Fully type-hinted methods ensuring excellent IDE support and error checking during development.
313+ </ p >
314+ </ div >
315+
316+ < div class ="spotlight-card rounded-2xl p-8 ">
317+ < div
318+ class ="w-12 h-12 rounded-lg bg-cyan-500/10 flex items-center justify-center text-cyan-400 mb-6 text-2xl border border-cyan-500/20 ">
319+ < i class ="fa-solid fa-scale-balanced "> </ i >
320+ </ div >
321+ < h3 class ="text-xl font-bold mb-3 text-white "> GPLv3 License</ h3 >
322+ < p class ="text-gray-400 text-sm leading-relaxed ">
323+ Open source and free software. You have the freedom to share and change all versions.
324+ </ p >
325+ </ div >
326+ </ div >
327+ </ div >
328+ </ section >
329+
330+ < section class ="py-20 ">
331+ < div class ="container mx-auto px-4 max-w-4xl ">
332+ < div class ="bg-[#1e1e1e] rounded-xl overflow-hidden shadow-2xl border border-gray-700 ">
333+ < div class ="flex items-center px-4 py-2 bg-[#252526] border-b border-gray-700 justify-between ">
334+ < div class ="flex space-x-2 ">
335+ < div class ="w-3 h-3 rounded-full bg-[#ff5f56] "> </ div >
336+ < div class ="w-3 h-3 rounded-full bg-[#ffbd2e] "> </ div >
337+ < div class ="w-3 h-3 rounded-full bg-[#27c93f] "> </ div >
338+ </ div >
339+ < span class ="text-xs text-gray-400 font-mono "> example.py</ span >
340+ </ div >
341+ < div class ="p-6 overflow-x-auto ">
342+ < pre class ="font-mono text-sm leading-relaxed ">
343+ < span class ="text-pink-400 "> from</ span > CaesarCipher < span class ="text-pink-400 "> import</ span > Encryption, Decryption
344+
345+ < span class ="text-gray-500 "> # 1. Initialize Encryption</ span >
346+ cipher = Encryption(
347+ < span class ="text-yellow-300 "> "SecretData_123"</ span > ,
348+ shift=< span class ="text-purple-400 "> 5</ span > ,
349+ alterNumbers=< span class ="text-purple-400 "> True</ span >
350+ )
351+
352+ < span class ="text-gray-500 "> # 2. Get Result</ span >
353+ encrypted_text = cipher.encrypt()
354+ < span class ="text-blue-400 "> print</ span > (< span class ="text-yellow-300 "> f"Encrypted: {encrypted_text}"</ span > )
355+
356+ < span class ="text-gray-500 "> # 3. File Handling (In-place)</ span >
357+ < span class ="text-pink-400 "> if</ span > cipher.encrypt_file(< span class ="text-yellow-300 "> 'config.yml'</ span > ):
358+ < span class ="text-blue-400 "> print</ span > (< span class ="text-yellow-300 "> "File secured successfully."</ span > )
359+ </ pre >
360+ </ div >
361+ </ div >
362+ </ div >
363+ </ section >
364+
365+ < footer class ="bg-black py-16 border-t border-gray-900 relative ">
366+ < div class ="container mx-auto px-4 text-center z-10 relative ">
367+ < h2 class ="text-3xl font-bold text-white mb-2 "> Virati Akiranandhan Reddy</ h2 >
368+ < p class ="text-gray-600 mb-8 "> Maintainer & Developer</ p >
369+
370+ < div class ="flex justify-center gap-6 mb-12 ">
371+ < a href ="https://github.com/ViratiAkiraNandhanReddy "
372+ class ="w-10 h-10 rounded-full bg-gray-900 flex items-center justify-center text-white hover:bg-cyber-primary hover:text-black transition-all hover:-translate-y-1 "> < i
373+ class ="fa-brands fa-github "> </ i > </ a >
374+ < a href ="https://www.linkedin.com/in/viratiakiranandhanreddy/ "
375+ class ="w-10 h-10 rounded-full bg-gray-900 flex items-center justify-center text-white hover:bg-[#0077b5] hover:text-white transition-all hover:-translate-y-1 "> < i
376+ class ="fa-brands fa-linkedin "> </ i > </ a >
377+ < a href ="https://instagram.com/viratiakiranandhanreddy "
378+ class ="w-10 h-10 rounded-full bg-gray-900 flex items-center justify-center text-white hover:bg-pink-500 hover:border border-white transition-all hover:-translate-y-1 "> < i
379+ class ="fa-brands fa-instagram "> </ i > </ a >
380+ < a href ="mailto:contact.viratiakiranandhanreddy+python@gmail.com "
381+ class ="w-10 h-10 rounded-full bg-gray-900 flex items-center justify-center text-white hover:bg-red-500 hover:text-white transition-all hover:-translate-y-1 "> < i
382+ class ="fa-solid fa-envelope "> </ i > </ a >
383+ </ div >
384+
385+ < div class ="border-t border-gray-900 pt-8 text-sm text-gray-600 ">
386+ < p > © 2026 ViratiAkiraNandhanReddy. Released under the < a
387+ href ="https://github.com/ViratiAkiraNandhanReddy/CaesarCipher.extended?tab=GPL-3.0-1-ov-file "
388+ class ="text-cyber-primary hover:underline "> GNU GPLv3 License</ a > .</ p >
389+ </ div >
390+ </ div >
391+ </ footer >
392+
393+ < script src ="script.js "> </ script >
394+ </ body >
395+
396+ </ html >
0 commit comments