@seip/blue-bird 0.6.4 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,105 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="{{lang}}">
3
-
4
- <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>{{title}}</title>
8
- <link rel="canonical" href="{{canonicalUrl}}" />
9
- <meta name="description" content="{{description}}">
10
- <meta name="keywords" content="{{keywords}}">
11
- <meta name="author" content="{{author}}">
12
- <link rel="icon" href="/favicon.ico" />
13
- <script src="/js/tailwind.js"></script>
14
- <!-- Enable or disable SPA transitions globally (default: true) -->
15
- <script>window.enabledAnime = true;</script>
16
- <script src="/js/blue-bird.js"></script>
17
- </head>
18
-
19
- <body class="min-h-screen bg-slate-950 text-white font-sans antialiased selection:bg-blue-500 selection:text-white">
20
- <header class="sticky top-0 z-50 px-4 py-3">
21
- <div
22
- class="max-w-7xl mx-auto flex items-center justify-between backdrop-blur-md bg-slate-900/60 border border-white/10 rounded-2xl px-6 py-3 shadow-lg">
23
- <div class="flex items-center space-x-3">
24
- <a href="/" class="flex items-center space-x-3">
25
- <div
26
- class="w-10 h-10 bg-gradient-to-tr from-blue-500 to-indigo-600 rounded-xl flex items-center justify-center shadow-md shadow-blue-500/30">
27
- <svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
28
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
29
- d="M12 19l9 2-9-18-9 18 9-2zm0 0v-8" />
30
- </svg>
31
- </div>
32
- <span
33
- class="text-xl font-bold tracking-tight bg-gradient-to-r from-blue-400 via-indigo-200 to-white bg-clip-text text-transparent">Blue
34
- Bird</span>
35
- </a>
36
- </div>
37
-
38
- <nav class="flex space-x-8 text-sm font-medium text-slate-300">
39
- <a href="/" class="hover:text-blue-400 transition-colors">Home</a>
40
- <a href="/about" class="hover:text-blue-400 transition-colors">About</a>
41
- <a href="/preact_example" class="hover:text-blue-400 transition-colors">Preact Example</a>
42
- </nav>
43
- </div>
44
- </header>
45
-
46
- <main id="blueBird-spa-content" class="max-w-4xl mx-auto px-4 py-16">
47
- <div class="space-y-12">
48
- <div>
49
- <a href="/"
50
- class="inline-flex items-center text-sm font-semibold text-blue-400 hover:text-blue-300 transition-colors">
51
- <svg class="w-4 h-4 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
52
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
53
- d="M10 19l-7-7m0 0l7-7m-7 7h18" />
54
- </svg>
55
- Back to Home
56
- </a>
57
- </div>
58
-
59
- <div class="space-y-4">
60
- <h1
61
- class="text-4xl sm:text-5xl font-extrabold tracking-tight bg-gradient-to-r from-blue-400 to-indigo-300 bg-clip-text text-transparent">
62
- About Blue Bird
63
- </h1>
64
- <p class="text-lg text-slate-300 leading-relaxed">
65
- Blue Bird provides built-in routing, JWT authentication, validation, performance caching, SEO
66
- management, and raw HTML templates with no extra overhead.
67
- </p>
68
- </div>
69
-
70
- <div class="pt-8 border-t border-white/10 space-y-6">
71
- <h2 class="text-2xl font-bold">Framework Capabilities</h2>
72
- <div class="grid grid-cols-1 md:grid-cols-2 gap-6 text-sm text-slate-400">
73
- <div class="bg-slate-900/50 border border-white/5 p-6 rounded-2xl">
74
- <h3 class="font-bold text-white text-base mb-2">HTML Minifier</h3>
75
- <p>Every HTML view is parsed, comments are stripped, and whitespace is compressed instantly,
76
- delivering minimum payload sizes to ensure superior SEO metrics.</p>
77
- </div>
78
- <div class="bg-slate-900/50 border border-white/5 p-6 rounded-2xl">
79
- <h3 class="font-bold text-white text-base mb-2">In-Memory Cache</h3>
80
- <p>The framework caches fully compiled HTML outputs in RAM memory with configurable time-to-live
81
- expiration (TTL), ensuring sub-millisecond response times in production.</p>
82
- </div>
83
- <div class="bg-slate-900/50 border border-white/5 p-6 rounded-2xl">
84
- <h3 class="font-bold text-white text-base mb-2">Pure API Focus</h3>
85
- <p>Designed to serve as a fast API and static content backend. Perfect to run independently, or
86
- to easily migrate to newer decoupled frontend tools later on.</p>
87
- </div>
88
- <div class="bg-slate-900/50 border border-white/5 p-6 rounded-2xl">
89
- <h3 class="font-bold text-white text-base mb-2">Gzip Compression</h3>
90
- <p>All textual assets, compiled pages, and REST API payloads are compressed via Gzip before
91
- network transit to ensure low latency and high score audits.</p>
92
- </div>
93
- </div>
94
- </div>
95
- </div>
96
- </main>
97
-
98
- <footer class="border-t border-white/5 py-8 bg-slate-950 mt-16">
99
- <div class="max-w-7xl mx-auto px-4 text-center text-sm text-slate-500">
100
- <p>Powered by Blue Bird Framework. All rights reserved.</p>
101
- </div>
102
- </footer>
103
- </body>
104
-
105
- </html>
@@ -1,146 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="{{lang}}">
3
-
4
- <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>{{title}}</title>
8
- <link rel="canonical" href="{{canonicalUrl}}" />
9
- <meta name="description" content="{{description}}">
10
- <meta name="keywords" content="{{keywords}}">
11
- <meta name="author" content="{{author}}">
12
- <link rel="icon" href="/favicon.ico" />
13
- <script src="/js/tailwind.js"></script>
14
- <!-- Enable or disable SPA transitions globally (default: true) -->
15
- <script>window.enabledAnime = true;</script>
16
- <script src="/js/blue-bird.js"></script>
17
-
18
- </head>
19
-
20
- <body class="min-h-screen bg-slate-950 text-white font-sans antialiased selection:bg-blue-500 selection:text-white">
21
- <header class="sticky top-0 z-50 px-4 py-3">
22
- <div
23
- class="max-w-7xl mx-auto flex items-center justify-between backdrop-blur-md bg-slate-900/60 border border-white/10 rounded-2xl px-6 py-3 shadow-lg">
24
- <div class="flex items-center space-x-3">
25
- <div
26
- class="w-10 h-10 bg-gradient-to-tr from-blue-500 to-indigo-600 rounded-xl flex items-center justify-center shadow-md shadow-blue-500/30">
27
- <svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
28
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
29
- d="M12 19l9 2-9-18-9 18 9-2zm0 0v-8" />
30
- </svg>
31
- </div>
32
- <span
33
- class="text-xl font-bold tracking-tight bg-gradient-to-r from-blue-400 via-indigo-200 to-white bg-clip-text text-transparent">Blue
34
- Bird</span>
35
- </div>
36
-
37
- <nav class="flex space-x-8 text-sm font-medium text-slate-300">
38
- <a href="/" class="hover:text-blue-400 transition-colors">Home</a>
39
- <a href="/about" class="hover:text-blue-400 transition-colors">About</a>
40
- <a href="/preact_example" class="hover:text-blue-400 transition-colors">Preact Example</a>
41
- </nav>
42
- </div>
43
- </header>
44
-
45
- <main id="blueBird-spa-content" class="max-w-7xl mx-auto px-4 pt-12 pb-24">
46
-
47
- <div
48
- class="relative py-16 px-6 md:px-12 rounded-3xl overflow-hidden bg-gradient-to-b from-blue-900/20 to-slate-950 border border-white/5 shadow-2xl">
49
- <div class="absolute -top-40 -left-40 w-96 h-96 bg-blue-500/10 rounded-full blur-3xl"></div>
50
- <div class="absolute -right-40 -bottom-40 w-96 h-96 bg-indigo-500/10 rounded-full blur-3xl"></div>
51
-
52
- <div class="relative max-w-4xl mx-auto text-center space-y-8">
53
- <span
54
- class="inline-flex items-center px-4 py-1.5 rounded-full text-xs font-semibold tracking-wider bg-blue-500/10 text-blue-400 border border-blue-500/20 uppercase">
55
- Welcome to Blue Bird
56
- </span>
57
-
58
- <h1
59
- class="text-4xl sm:text-6xl font-extrabold tracking-tight bg-gradient-to-r from-blue-400 via-indigo-300 to-white bg-clip-text text-transparent">
60
- Hello, Developer! Welcome to the next level.
61
- </h1>
62
-
63
- <p class="text-lg sm:text-xl text-slate-400 leading-relaxed max-w-2xl mx-auto">
64
- Blue Bird is a fast, structured, and opinionated Express.js framework for developers who want
65
- visual elegance and performance with raw HTML and CSS.
66
- </p>
67
-
68
- <div class="flex flex-wrap justify-center gap-4 pt-4">
69
- <a href="/about"
70
- class="px-8 py-3.5 rounded-xl font-semibold bg-gradient-to-r from-blue-500 to-indigo-600 hover:from-blue-600 hover:to-indigo-700 shadow-lg shadow-blue-500/20 transform hover:-translate-y-0.5 transition-all">
71
- About Us &rarr;
72
- </a>
73
- <a href="https://github.com/seip25/Blue-bird" target="_blank"
74
- class="px-8 py-3.5 rounded-xl font-semibold bg-slate-900 border border-white/10 hover:bg-slate-800 transition-all">
75
- GitHub
76
- </a>
77
- </div>
78
-
79
- </div>
80
- </div>
81
-
82
- <section class="mt-24 space-y-12">
83
- <div class="text-center space-y-3">
84
- <h2 class="text-3xl font-bold bg-gradient-to-r from-white to-slate-400 bg-clip-text text-transparent">
85
- High-Performance Core Features</h2>
86
- <p class="text-slate-400">Everything preconfigured to serve raw, optimized HTML with minimal
87
- overhead.</p>
88
- </div>
89
-
90
- <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
91
- <div
92
- class="group relative p-8 rounded-2xl bg-slate-900/40 border border-white/5 hover:border-blue-500/30 transition-all duration-300 hover:shadow-xl hover:shadow-blue-500/5 hover:-translate-y-1">
93
- <div
94
- class="w-12 h-12 bg-blue-500/10 text-blue-400 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform">
95
- <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
96
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
97
- d="M13 10V3L4 14h7v7l9-11h-7z" />
98
- </svg>
99
- </div>
100
- <h3 class="text-xl font-semibold mb-3 group-hover:text-blue-400 transition-colors">Ultra-Fast
101
- HTML Render</h3>
102
- <p class="text-sm text-slate-400 leading-relaxed">Direct static HTML rendering using high-speed
103
- string placeholder replacement, bypassing heavy parsing engines completely.</p>
104
- </div>
105
-
106
- <div
107
- class="group relative p-8 rounded-2xl bg-slate-900/40 border border-white/5 hover:border-blue-500/30 transition-all duration-300 hover:shadow-xl hover:shadow-blue-500/5 hover:-translate-y-1">
108
- <div
109
- class="w-12 h-12 bg-indigo-500/10 text-indigo-400 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform">
110
- <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
111
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
112
- d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" />
113
- </svg>
114
- </div>
115
- <h3 class="text-xl font-semibold mb-3 group-hover:text-indigo-400 transition-colors">In-Memory
116
- HTML Caching</h3>
117
- <p class="text-sm text-slate-400 leading-relaxed">Configurable time-to-live caching. Rendered
118
- pages are stored in RAM for instant, sub-millisecond delivery in production.</p>
119
- </div>
120
-
121
- <div
122
- class="group relative p-8 rounded-2xl bg-slate-900/40 border border-white/5 hover:border-blue-500/30 transition-all duration-300 hover:shadow-xl hover:shadow-blue-500/5 hover:-translate-y-1">
123
- <div
124
- class="w-12 h-12 bg-teal-500/10 text-teal-400 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform">
125
- <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
126
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
127
- d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" />
128
- </svg>
129
- </div>
130
- <h3 class="text-xl font-semibold mb-3 group-hover:text-teal-400 transition-colors">JWT & Route
131
- Security</h3>
132
- <p class="text-sm text-slate-400 leading-relaxed">Secure cookie management, GCM-encrypted JWT
133
- tokens, custom helmet configurations, and route rate limiting built-in.</p>
134
- </div>
135
- </div>
136
- </section>
137
- </main>
138
-
139
- <footer class="border-t border-white/5 py-8 bg-slate-950 mt-16">
140
- <div class="max-w-7xl mx-auto px-4 text-center text-sm text-slate-500">
141
- <p>Powered by Blue Bird Framework. All rights reserved.</p>
142
- </div>
143
- </footer>
144
- </body>
145
-
146
- </html>
@@ -1,80 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="{{lang}}">
3
-
4
- <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>{{title}}</title>
8
- <link rel="canonical" href="{{canonicalUrl}}" />
9
- <meta name="description" content="{{description}}">
10
- <meta name="keywords" content="{{keywords}}">
11
- <meta name="author" content="{{author}}">
12
- <link rel="icon" href="/favicon.ico" />
13
- <script src="/js/tailwind.js"></script>
14
- <!-- Enable or disable SPA transitions globally (default: true) -->
15
- <script>window.enabledAnime = true;</script>
16
- <script src="/js/blue-bird.js"></script>
17
-
18
- </head>
19
-
20
- <body class="min-h-screen bg-slate-950 text-white font-sans antialiased selection:bg-blue-500 selection:text-white">
21
- <header class="sticky top-0 z-50 px-4 py-3">
22
- <div
23
- class="max-w-7xl mx-auto flex items-center justify-between backdrop-blur-md bg-slate-900/60 border border-white/10 rounded-2xl px-6 py-3 shadow-lg">
24
- <div class="flex items-center space-x-3">
25
- <div
26
- class="w-10 h-10 bg-gradient-to-tr from-blue-500 to-indigo-600 rounded-xl flex items-center justify-center shadow-md shadow-blue-500/30">
27
- <svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
28
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
29
- d="M12 19l9 2-9-18-9 18 9-2zm0 0v-8" />
30
- </svg>
31
- </div>
32
- <span
33
- class="text-xl font-bold tracking-tight bg-gradient-to-r from-blue-400 via-indigo-200 to-white bg-clip-text text-transparent">Blue
34
- Bird</span>
35
- </div>
36
-
37
- <nav class="flex space-x-8 text-sm font-medium text-slate-300">
38
- <a href="/" class="hover:text-blue-400 transition-colors">Home</a>
39
- <a href="/about" class="hover:text-blue-400 transition-colors">About</a>
40
- <a href="/preact_example" class="hover:text-blue-400 transition-colors">Preact Example</a>
41
- </nav>
42
- </div>
43
- </header>
44
-
45
-
46
- <!-- Inside main container #blueBird-spa-content -->
47
- <main id="blueBird-spa-content">
48
- <div id="preact-app"></div>
49
- <script type="importmap">
50
- {
51
- "imports": {
52
- "preact": "https://esm.sh/preact@10.19.2",
53
- "preact/hooks": "https://esm.sh/preact@10.19.2/hooks",
54
- "htm/preact": "https://esm.sh/htm@3.1.1/preact"
55
- }
56
- }
57
- </script>
58
-
59
- <script type="module">
60
- import { render } from 'preact';
61
- import { useState } from 'preact/hooks';
62
- import { html } from 'htm/preact';
63
-
64
- function App() {
65
- const [count, setCount] = useState(0);
66
- return html`
67
- <div class="p-6 bg-slate-900 rounded-2xl">
68
- <h2 class="text-lg text-white">Preact Counter</h2>
69
- <p class="text-2xl text-blue-400 font-extrabold">${count}</p>
70
- <button class="p-2 bg-blue-600 rounded-lg text-white font-semibold" onClick=${() => setCount(count + 1)}>Increment</button>
71
- </div>
72
- `;
73
- }
74
-
75
- render(html`<${App} />`, document.getElementById('preact-app'));
76
- </script>
77
- </main>
78
- </body>
79
-
80
- </html>