ThreeSixNine commited on
Commit
d431ffd
·
verified ·
1 Parent(s): 4047279

This image is a screenshot of a web-based development environment called SiteForge, which appears to be an AI-powered website builder or code editor.

Browse files

Overall Layout
The interface is divided into two main sections:

Left Panel (Code Editor) - A dark-themed code editor showing an HTML file named "index.html" with syntax highlighting. The code is approximately 21 lines and includes:

Standard HTML5 boilerplate structure
Tailwind CSS integration via CDN
A simple centered layout with text content
A notification badge saying "New version dropped!"
The main heading: "I'm ready to work, Ask me anything."
Right Panel (Preview) - A live preview of the rendered webpage showing:

A clean, minimal design with white background
An orange notification pill at the top: "New version dropped!"
Large, centered text: "I'm ready to work," in gray, followed by "Ask me anything." in bold black
An animated arrow cursor pointing upward from the bottom
UI Elements
Top Navigation Bar:

SiteForge logo with a "PRO" badge in green
Action buttons: Desktop view, Mobile view, Refresh Preview, Help
User profile: "William T" with avatar
Settings icon
Bottom Input Area:

Text input field: "Ask SiteForge anything..."
Three action buttons: "Enhance" (purple), "deepseek-v3.024" (checked), "Redesign"
Send button with arrow icon
Right Sidebar:

Vertical toolbar with various icons for additional tools/features
Color Scheme
Editor: Dark background (#1e1e1e or similar) with colorful syntax highlighting (blue, orange, green, purple)
Preview: Clean white background with black and gray text
Accents: Orange for notifications, purple for primary actions, green for PRO badge
Typography
The preview uses a modern sans-serif font (likely Inter or similar)
"I'm ready to work," is in a lighter weight, medium size
"Ask me anything." is in bold, larger size for emphasis
Key Features for Recreation
To recreate this exactly, you'd need:

Two-panel layout with resizable divider
Syntax-highlighted code editor on the left (Monaco Editor or CodeMirror would work well)
Live preview iframe on the right that updates in real-time
Tailwind CSS for rapid styling
Notification system with dismissible badges
AI chat interface at the bottom with model selection
Responsive design controls (Desktop/Mobile toggle)
Enhancement Opportunities
This interface could be enhanced by:

Adding dark/light mode toggle for the preview
Including a component library sidebar for drag-and-drop elements
Adding version history with visual diff comparison
Implementing collaborative editing with real-time cursors
Adding deployment options (hosting, export to ZIP, GitHub sync)
Including accessibility checker and SEO analysis tools
Adding animation previews and micro-interaction controls
Implementing AI suggestions inline in the code editor
The overall aesthetic is modern, clean, and professional - typical of contemporary developer tools like Vercel's editor, Replit, or StackBlitz.

Files changed (2) hide show
  1. README.md +6 -3
  2. index.html +284 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Siteforge Ai Editor
3
- emoji: 👁
4
  colorFrom: purple
5
  colorTo: pink
 
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: SiteForge AI Editor 🧠
 
3
  colorFrom: purple
4
  colorTo: pink
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - siteforge-v3
10
  ---
11
 
12
+ # Welcome to your new SiteForge project!
13
+ This project was created with [SiteForge](https://threesixnine-siteforge.hf.space).
index.html CHANGED
@@ -1,19 +1,285 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
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>SiteForge AI Editor</title>
7
+ <link rel="icon" type="image/x-icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🧠</text></svg>">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script>
12
+ tailwind.config = {
13
+ darkMode: 'class',
14
+ theme: {
15
+ extend: {
16
+ colors: {
17
+ primary: {
18
+ 50: '#fff7ed',
19
+ 100: '#ffedd5',
20
+ 200: '#fed7aa',
21
+ 300: '#fdba74',
22
+ 400: '#fb923c',
23
+ 500: '#f97316',
24
+ 600: '#ea580c',
25
+ 700: '#c2410c',
26
+ 800: '#9a3412',
27
+ 900: '#7c2d12',
28
+ },
29
+ secondary: {
30
+ 50: '#f0f9ff',
31
+ 100: '#e0f2fe',
32
+ 200: '#bae6fd',
33
+ 300: '#7dd3fc',
34
+ 400: '#38bdf8',
35
+ 500: '#0ea5e9',
36
+ 600: '#0284c7',
37
+ 700: '#0369a1',
38
+ 800: '#075985',
39
+ 900: '#0c4a6e',
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
45
+ </script>
46
+ <style>
47
+ .editor-scrollbar::-webkit-scrollbar {
48
+ width: 8px;
49
+ }
50
+ .editor-scrollbar::-webkit-scrollbar-track {
51
+ background: #1e293b;
52
+ }
53
+ .editor-scrollbar::-webkit-scrollbar-thumb {
54
+ background: #475569;
55
+ border-radius: 4px;
56
+ }
57
+ .editor-scrollbar::-webkit-scrollbar-thumb:hover {
58
+ background: #64748b;
59
+ }
60
+ .resize-handle {
61
+ width: 5px;
62
+ cursor: col-resize;
63
+ background: linear-gradient(90deg, transparent 0%, rgba(156, 163, 175, 0.3) 50%, transparent 100%);
64
+ }
65
+ .pulse-dot {
66
+ animation: pulse 2s infinite;
67
+ }
68
+ @keyframes pulse {
69
+ 0% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.7); }
70
+ 70% { box-shadow: 0 0 0 10px rgba(249, 115, 22, 0); }
71
+ 100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); }
72
+ }
73
+ </style>
74
+ </head>
75
+ <body class="bg-gray-900 text-gray-100 h-screen flex flex-col overflow-hidden">
76
+ <!-- Top Navigation -->
77
+ <header class="bg-gray-800 border-b border-gray-700 px-4 py-2 flex items-center justify-between">
78
+ <div class="flex items-center space-x-4">
79
+ <div class="flex items-center">
80
+ <span class="font-bold text-xl">SiteForge</span>
81
+ <span class="ml-2 bg-green-500 text-white text-xs px-2 py-1 rounded">PRO</span>
82
+ </div>
83
+ <div class="flex space-x-2">
84
+ <button class="p-2 rounded hover:bg-gray-700 transition">
85
+ <i data-feather="monitor" class="w-4 h-4"></i>
86
+ </button>
87
+ <button class="p-2 rounded hover:bg-gray-700 transition">
88
+ <i data-feather="smartphone" class="w-4 h-4"></i>
89
+ </button>
90
+ <button class="p-2 rounded hover:bg-gray-700 transition">
91
+ <i data-feather="refresh-cw" class="w-4 h-4"></i>
92
+ </button>
93
+ <button class="p-2 rounded hover:bg-gray-700 transition">
94
+ <i data-feather="help-circle" class="w-4 h-4"></i>
95
+ </button>
96
+ </div>
97
+ </div>
98
+ <div class="flex items-center space-x-4">
99
+ <div class="flex items-center space-x-2">
100
+ <span>William T</span>
101
+ <div class="w-8 h-8 rounded-full bg-primary-500 flex items-center justify-center">
102
+ <span>WT</span>
103
+ </div>
104
+ </div>
105
+ <button class="p-2 rounded hover:bg-gray-700 transition">
106
+ <i data-feather="settings" class="w-4 h-4"></i>
107
+ </button>
108
+ </div>
109
+ </header>
110
+
111
+ <!-- Main Content -->
112
+ <div class="flex flex-1 overflow-hidden">
113
+ <!-- Left Panel - Code Editor -->
114
+ <div class="w-1/2 flex flex-col border-r border-gray-700">
115
+ <div class="px-4 py-2 bg-gray-800 border-b border-gray-700 flex items-center justify-between">
116
+ <div class="flex items-center space-x-2">
117
+ <i data-feather="file-text" class="w-4 h-4"></i>
118
+ <span>index.html</span>
119
+ </div>
120
+ <div class="flex space-x-1">
121
+ <button class="p-1 rounded hover:bg-gray-700">
122
+ <i data-feather="save" class="w-4 h-4"></i>
123
+ </button>
124
+ <button class="p-1 rounded hover:bg-gray-700">
125
+ <i data-feather="copy" class="w-4 h-4"></i>
126
+ </button>
127
+ </div>
128
+ </div>
129
+ <div class="flex-1 overflow-auto editor-scrollbar bg-gray-900 p-4 font-mono text-sm">
130
+ <pre class="text-gray-300">&lt;!DOCTYPE html&gt;
131
+ &lt;html lang="en"&gt;
132
+ &lt;head&gt;
133
+ &lt;meta charset="UTF-8"&gt;
134
+ &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
135
+ &lt;title&gt;Document&lt;/title&gt;
136
+ &lt;script src="<span class="text-blue-400">https://cdn.tailwindcss.com</span>"&gt;&lt;/script&gt;
137
+ &lt;/head&gt;
138
+ &lt;body class="<span class="text-purple-400">bg-white</span>"&gt;
139
+ &lt;div class="<span class="text-yellow-400">absolute top-4 left-1/2 transform -translate-x-1/2</span>"&gt;
140
+ &lt;div class="<span class="text-orange-400">bg-orange-500 text-white px-4 py-1 rounded-full text-sm</span>"&gt;
141
+ New version dropped!
142
+ &lt;/div&gt;
143
+ &lt;/div&gt;
144
+
145
+ &lt;div class="<span class="text-green-400">flex flex-col items-center justify-center min-h-screen</span>"&gt;
146
+ &lt;h1 class="<span class="text-gray-500">text-3xl mb-2</span>"&gt;I'm ready to work,&lt;/h1&gt;
147
+ &lt;h2 class="<span class="text-black">text-4xl font-bold</span>"&gt;Ask me anything.&lt;/h2&gt;
148
+ &lt;/div&gt;
149
+
150
+ &lt;div class="<span class="text-pink-400">absolute bottom-8 left-1/2 transform -translate-x-1/2 animate-bounce</span>"&gt;
151
+ &lt;i data-feather="<span class="text-blue-400">arrow-up</span>" class="<span class="text-black">w-8 h-8</span>"&gt;&lt;/i&gt;
152
+ &lt;/div&gt;
153
+ &lt;/body&gt;
154
+ &lt;/html&gt;</pre>
155
+ </div>
156
+ </div>
157
+
158
+ <!-- Resize Handle -->
159
+ <div class="resize-handle"></div>
160
+
161
+ <!-- Right Panel - Preview -->
162
+ <div class="w-1/2 flex flex-col bg-white">
163
+ <div class="px-4 py-2 bg-gray-100 border-b border-gray-300 flex items-center justify-between">
164
+ <div class="text-gray-700">Preview</div>
165
+ <div class="flex space-x-1">
166
+ <button class="p-1 rounded hover:bg-gray-200">
167
+ <i data-feather="maximize" class="w-4 h-4"></i>
168
+ </button>
169
+ </div>
170
+ </div>
171
+ <div class="flex-1 overflow-auto relative">
172
+ <!-- Preview Content -->
173
+ <div class="min-h-full bg-white">
174
+ <!-- Notification Badge -->
175
+ <div class="absolute top-4 left-1/2 transform -translate-x-1/2">
176
+ <div class="bg-orange-500 text-white px-4 py-1 rounded-full text-sm">
177
+ New version dropped!
178
+ </div>
179
+ </div>
180
+
181
+ <!-- Main Content -->
182
+ <div class="flex flex-col items-center justify-center min-h-screen">
183
+ <h1 class="text-3xl mb-2 text-gray-500">I'm ready to work,</h1>
184
+ <h2 class="text-4xl font-bold">Ask me anything.</h2>
185
+ </div>
186
+
187
+ <!-- Animated Arrow -->
188
+ <div class="absolute bottom-8 left-1/2 transform -translate-x-1/2 animate-bounce">
189
+ <i data-feather="arrow-up" class="w-8 h-8 text-black"></i>
190
+ </div>
191
+ </div>
192
+ </div>
193
+ </div>
194
+ </div>
195
+
196
+ <!-- Bottom Input Area -->
197
+ <div class="border-t border-gray-700 bg-gray-800 p-3">
198
+ <div class="flex items-center">
199
+ <input
200
+ type="text"
201
+ placeholder="Ask SiteForge anything..."
202
+ class="flex-1 bg-gray-700 text-white rounded-l-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-primary-500"
203
+ >
204
+ <div class="flex bg-gray-700">
205
+ <button class="px-3 py-3 border-r border-gray-600 text-purple-400 hover:bg-gray-600 transition">
206
+ Enhance
207
+ </button>
208
+ <button class="px-3 py-3 border-r border-gray-600 flex items-center space-x-1 hover:bg-gray-600 transition">
209
+ <span>deepseek-v3.024</span>
210
+ <i data-feather="check" class="w-4 h-4"></i>
211
+ </button>
212
+ <button class="px-3 py-3 flex items-center space-x-1 hover:bg-gray-600 transition">
213
+ <span>Redesign</span>
214
+ </button>
215
+ </div>
216
+ <button class="bg-primary-500 hover:bg-primary-600 text-white px-4 py-3 rounded-r-lg transition flex items-center">
217
+ <i data-feather="send" class="w-5 h-5"></i>
218
+ </button>
219
+ </div>
220
+ </div>
221
+
222
+ <!-- Right Sidebar -->
223
+ <div class="absolute right-0 top-16 bottom-16 w-12 bg-gray-800 border-l border-gray-700 flex flex-col items-center py-4 space-y-6">
224
+ <button class="p-2 rounded-lg hover:bg-gray-700 transition relative">
225
+ <i data-feather="layers" class="w-5 h-5"></i>
226
+ <div class="absolute -top-1 -right-1 w-3 h-3 bg-red-500 rounded-full pulse-dot"></div>
227
+ </button>
228
+ <button class="p-2 rounded-lg hover:bg-gray-700 transition">
229
+ <i data-feather="box" class="w-5 h-5"></i>
230
+ </button>
231
+ <button class="p-2 rounded-lg hover:bg-gray-700 transition">
232
+ <i data-feather="layout" class="w-5 h-5"></i>
233
+ </button>
234
+ <button class="p-2 rounded-lg hover:bg-gray-700 transition">
235
+ <i data-feather="code" class="w-5 h-5"></i>
236
+ </button>
237
+ <button class="p-2 rounded-lg hover:bg-gray-700 transition">
238
+ <i data-feather="bar-chart-2" class="w-5 h-5"></i>
239
+ </button>
240
+ <button class="p-2 rounded-lg hover:bg-gray-700 transition mt-auto">
241
+ <i data-feather="more-vertical" class="w-5 h-5"></i>
242
+ </button>
243
+ </div>
244
+
245
+ <script>
246
+ feather.replace();
247
+
248
+ // Simple resize functionality
249
+ document.addEventListener('DOMContentLoaded', function() {
250
+ const resizeHandle = document.querySelector('.resize-handle');
251
+ const leftPanel = document.querySelector('.w-1/2:first-child');
252
+ const rightPanel = document.querySelector('.w-1/2:last-child');
253
+
254
+ let isResizing = false;
255
+
256
+ resizeHandle.addEventListener('mousedown', function(e) {
257
+ isResizing = true;
258
+ document.body.style.cursor = 'col-resize';
259
+ e.preventDefault();
260
+ });
261
+
262
+ document.addEventListener('mousemove', function(e) {
263
+ if (!isResizing) return;
264
+
265
+ const containerOffsetLeft = document.querySelector('.flex').getBoundingClientRect().left;
266
+ const posX = e.clientX - containerOffsetLeft;
267
+ const containerWidth = document.querySelector('.flex').offsetWidth;
268
+
269
+ const newLeftWidth = (posX / containerWidth) * 100;
270
+ const newRightWidth = 100 - newLeftWidth;
271
+
272
+ if (newLeftWidth > 25 && newLeftWidth < 75) {
273
+ leftPanel.style.width = `${newLeftWidth}%`;
274
+ rightPanel.style.width = `${newRightWidth}%`;
275
+ }
276
+ });
277
+
278
+ document.addEventListener('mouseup', function() {
279
+ isResizing = false;
280
+ document.body.style.cursor = 'default';
281
+ });
282
+ });
283
+ </script>
284
+ </body>
285
  </html>