ve4er commited on
Commit
443878b
·
verified ·
1 Parent(s): c7edbab

Make a nsfw text prompt generator and make it have every category and full control

Browse files
Files changed (2) hide show
  1. README.md +8 -5
  2. index.html +282 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Sinfulscript Generator
3
- emoji: 🏢
4
- colorFrom: indigo
5
- colorTo: indigo
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: SinfulScript Generator 🔞
3
+ colorFrom: green
4
+ colorTo: red
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://deepsite.hf.co).
index.html CHANGED
@@ -1,19 +1,283 @@
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>SinfulScript Generator 🔞</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://unpkg.com/feather-icons"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
10
+ <style>
11
+ .gradient-bg {
12
+ background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
13
+ }
14
+ .nsfw-box {
15
+ backdrop-filter: blur(10px);
16
+ background-color: rgba(26, 26, 46, 0.7);
17
+ border: 1px solid rgba(255, 0, 100, 0.3);
18
+ }
19
+ .nsfw-tag {
20
+ background: linear-gradient(90deg, #ff0033, #ff6699);
21
+ }
22
+ .slider-thumb::-webkit-slider-thumb {
23
+ -webkit-appearance: none;
24
+ appearance: none;
25
+ width: 20px;
26
+ height: 20px;
27
+ border-radius: 50%;
28
+ background: #ff0033;
29
+ cursor: pointer;
30
+ }
31
+ textarea {
32
+ min-height: 150px;
33
+ }
34
+ </style>
35
+ </head>
36
+ <body class="gradient-bg text-gray-100 min-h-screen">
37
+ <div id="vanta-bg" class="fixed inset-0 -z-10"></div>
38
+
39
+ <div class="container mx-auto px-4 py-12 max-w-4xl">
40
+ <header class="text-center mb-12">
41
+ <h1 class="text-4xl md:text-5xl font-bold mb-4 bg-clip-text text-transparent bg-gradient-to-r from-pink-500 to-red-500">
42
+ SinfulScript Generator
43
+ </h1>
44
+ <p class="text-lg text-gray-300 max-w-2xl mx-auto">
45
+ Craft your perfect NSFW text prompt with complete control over every detail
46
+ </p>
47
+ <div class="mt-4">
48
+ <span class="inline-block px-3 py-1 rounded-full nsfw-tag text-white font-medium">
49
+ 18+ CONTENT ONLY
50
+ </span>
51
+ </div>
52
+ </header>
53
+
54
+ <main class="nsfw-box rounded-xl p-6 shadow-2xl">
55
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
56
+ <!-- Left Column - Controls -->
57
+ <div class="space-y-6">
58
+ <div>
59
+ <h2 class="text-xl font-semibold mb-4 text-pink-300">Core Elements</h2>
60
+ <div class="space-y-4">
61
+ <div>
62
+ <label class="block text-sm font-medium mb-1">Primary Character</label>
63
+ <input type="text" class="w-full px-4 py-2 bg-gray-800 border border-gray-700 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-transparent" placeholder="e.g., voluptuous elf, muscular werewolf">
64
+ </div>
65
+
66
+ <div>
67
+ <label class="block text-sm font-medium mb-1">Secondary Character</label>
68
+ <input type="text" class="w-full px-4 py-2 bg-gray-800 border border-gray-700 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-transparent" placeholder="e.g., shy librarian, dominant CEO">
69
+ </div>
70
+
71
+ <div>
72
+ <label class="block text-sm font-medium mb-1">Setting</label>
73
+ <input type="text" class="w-full px-4 py-2 bg-gray-800 border border-gray-700 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-transparent" placeholder="e.g., dungeon, penthouse, enchanted forest">
74
+ </div>
75
+ </div>
76
+ </div>
77
+
78
+ <div>
79
+ <h2 class="text-xl font-semibold mb-4 text-pink-300">Category Selection</h2>
80
+ <div class="grid grid-cols-2 gap-3">
81
+ <label class="flex items-center space-x-2">
82
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
83
+ <span>BDSM</span>
84
+ </label>
85
+ <label class="flex items-center space-x-2">
86
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
87
+ <span>Fantasy</span>
88
+ </label>
89
+ <label class="flex items-center space-x-2">
90
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
91
+ <span>Romance</span>
92
+ </label>
93
+ <label class="flex items-center space-x-2">
94
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
95
+ <span>Sci-Fi</span>
96
+ </label>
97
+ <label class="flex items-center space-x-2">
98
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
99
+ <span>Historical</span>
100
+ </label>
101
+ <label class="flex items-center space-x-2">
102
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
103
+ <span>Monster</span>
104
+ </label>
105
+ <label class="flex items-center space-x-2">
106
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
107
+ <span>Furry</span>
108
+ </label>
109
+ <label class="flex items-center space-x-2">
110
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
111
+ <span>Transformation</span>
112
+ </label>
113
+ <label class="flex items-center space-x-2">
114
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
115
+ <span>Vanilla</span>
116
+ </label>
117
+ <label class="flex items-center space-x-2">
118
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
119
+ <span>Public</span>
120
+ </label>
121
+ <label class="flex items-center space-x-2">
122
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
123
+ <span>Taboo</span>
124
+ </label>
125
+ <label class="flex items-center space-x-2">
126
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
127
+ <span>Other</span>
128
+ </label>
129
+ </div>
130
+ </div>
131
+
132
+ <div>
133
+ <h2 class="text-xl font-semibold mb-4 text-pink-300">Intensity Controls</h2>
134
+ <div class="space-y-4">
135
+ <div>
136
+ <label class="block text-sm font-medium mb-1">Explicitness: <span id="explicitness-value" class="text-pink-400">5</span></label>
137
+ <input type="range" min="1" max="10" value="5" class="w-full slider-thumb h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer">
138
+ </div>
139
+ <div>
140
+ <label class="block text-sm font-medium mb-1">Romance: <span id="romance-value" class="text-pink-400">5</span></label>
141
+ <input type="range" min="1" max="10" value="5" class="w-full slider-thumb h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer">
142
+ </div>
143
+ <div>
144
+ <label class="block text-sm font-medium mb-1">Dominance: <span id="dominance-value" class="text-pink-400">5</span></label>
145
+ <input type="range" min="1" max="10" value="5" class="w-full slider-thumb h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer">
146
+ </div>
147
+ </div>
148
+ </div>
149
+
150
+ <div>
151
+ <h2 class="text-xl font-semibold mb-4 text-pink-300">Additional Options</h2>
152
+ <div class="space-y-4">
153
+ <div>
154
+ <label class="block text-sm font-medium mb-1">POV</label>
155
+ <select class="w-full px-4 py-2 bg-gray-800 border border-gray-700 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-transparent">
156
+ <option>First Person</option>
157
+ <option>Second Person</option>
158
+ <option>Third Person</option>
159
+ <option>Observer</option>
160
+ </select>
161
+ </div>
162
+ <div>
163
+ <label class="block text-sm font-medium mb-1">Verbosity</label>
164
+ <select class="w-full px-4 py-2 bg-gray-800 border border-gray-700 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-transparent">
165
+ <option>Minimal</option>
166
+ <option>Moderate</option>
167
+ <option>Detailed</option>
168
+ <option>Extremely Detailed</option>
169
+ </select>
170
+ </div>
171
+ <div>
172
+ <label class="flex items-center space-x-2">
173
+ <input type="checkbox" class="rounded border-gray-600 bg-gray-700 text-pink-500 focus:ring-pink-500">
174
+ <span>Include Dialogue</span>
175
+ </label>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ </div>
180
+
181
+ <!-- Right Column - Output -->
182
+ <div class="space-y-6">
183
+ <div>
184
+ <h2 class="text-xl font-semibold mb-4 text-pink-300">Generated Prompt</h2>
185
+ <textarea id="output-prompt" class="w-full px-4 py-3 bg-gray-800 border border-gray-700 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-transparent" readonly></textarea>
186
+ </div>
187
+
188
+ <div class="flex flex-col space-y-3">
189
+ <button id="generate-btn" class="w-full px-6 py-3 bg-gradient-to-r from-pink-600 to-red-600 rounded-lg font-medium hover:from-pink-700 hover:to-red-700 transition-all focus:outline-none focus:ring-2 focus:ring-pink-500 focus:ring-offset-2 focus:ring-offset-gray-800">
190
+ Generate Prompt
191
+ </button>
192
+ <button id="copy-btn" class="w-full px-6 py-3 bg-gray-700 rounded-lg font-medium hover:bg-gray-600 transition-all focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 focus:ring-offset-gray-800">
193
+ Copy to Clipboard
194
+ </button>
195
+ <button id="save-btn" class="w-full px-6 py-3 bg-blue-600 rounded-lg font-medium hover:bg-blue-700 transition-all focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-gray-800 flex items-center justify-center space-x-2">
196
+ <i data-feather="save"></i>
197
+ <span>Save Preset</span>
198
+ </button>
199
+ </div>
200
+
201
+ <div>
202
+ <h2 class="text-xl font-semibold mb-4 text-pink-300">Presets</h2>
203
+ <div class="grid grid-cols-2 gap-3">
204
+ <button class="px-4 py-2 bg-gray-700 rounded-lg hover:bg-gray-600 transition-all">Dark Romance</button>
205
+ <button class="px-4 py-2 bg-gray-700 rounded-lg hover:bg-gray-600 transition-all">Fantasy Orgy</button>
206
+ <button class="px-4 py-2 bg-gray-700 rounded-lg hover:bg-gray-600 transition-all">Sci-Fi Breeding</button>
207
+ <button class="px-4 py-2 bg-gray-700 rounded-lg hover:bg-gray-600 transition-all">BDSM Dungeon</button>
208
+ </div>
209
+ </div>
210
+ </div>
211
+ </div>
212
+ </main>
213
+
214
+ <footer class="mt-12 text-center text-gray-400 text-sm">
215
+ <p>Warning: This tool generates adult content only. By using it you confirm you are 18+</p>
216
+ <p class="mt-2">© 2023 SinfulScript Generator - All rights reserved</p>
217
+ </footer>
218
+ </div>
219
+
220
+ <script>
221
+ // Initialize Vanta.js background
222
+ VANTA.NET({
223
+ el: "#vanta-bg",
224
+ mouseControls: true,
225
+ touchControls: true,
226
+ gyroControls: false,
227
+ minHeight: 200.00,
228
+ minWidth: 200.00,
229
+ scale: 1.00,
230
+ scaleMobile: 1.00,
231
+ color: 0xff0033,
232
+ backgroundColor: 0x0f0f1a,
233
+ points: 10.00,
234
+ maxDistance: 25.00,
235
+ spacing: 18.00
236
+ });
237
+
238
+ // Update slider values
239
+ document.querySelectorAll('input[type="range"]').forEach(slider => {
240
+ const valueSpan = document.getElementById(`${slider.id || slider.name}-value`);
241
+ slider.addEventListener('input', () => {
242
+ valueSpan.textContent = slider.value;
243
+ });
244
+ });
245
+
246
+ // Generate button functionality
247
+ document.getElementById('generate-btn').addEventListener('click', () => {
248
+ const primaryChar = document.querySelector('input[placeholder*="Primary Character"]').value || "attractive protagonist";
249
+ const secondaryChar = document.querySelector('input[placeholder*="Secondary Character"]').value || "seductive partner";
250
+ const setting = document.querySelector('input[placeholder*="Setting"]').value || "intimate location";
251
+
252
+ const categories = Array.from(document.querySelectorAll('input[type="checkbox"]:checked'))
253
+ .map(cb => cb.nextElementSibling.textContent.trim())
254
+ .join(", ");
255
+
256
+ const explicitness = document.querySelector('input[type="range"]').value;
257
+
258
+ let prompt = `Describe a NSFW encounter between ${primaryChar} and ${secondaryChar} in ${setting}. `;
259
+ prompt += `Categories: ${categories || "general"}. `;
260
+ prompt += `Explicitness level: ${explicitness}/10. `;
261
+ prompt += `Focus on sensory details and emotional responses. `;
262
+
263
+ document.getElementById('output-prompt').value = prompt;
264
+ });
265
+
266
+ // Copy button functionality
267
+ document.getElementById('copy-btn').addEventListener('click', () => {
268
+ const promptText = document.getElementById('output-prompt');
269
+ promptText.select();
270
+ document.execCommand('copy');
271
+
272
+ const originalText = document.getElementById('copy-btn').textContent;
273
+ document.getElementById('copy-btn').textContent = 'Copied!';
274
+ setTimeout(() => {
275
+ document.getElementById('copy-btn').textContent = originalText;
276
+ }, 2000);
277
+ });
278
+
279
+ // Initialize feather icons
280
+ feather.replace();
281
+ </script>
282
+ </body>
283
  </html>