11# SimpleTools
22
3- A compact suite of web tools crafted with SolidJS, Vite, and TypeScript.
3+ ** SimpleTools** is a fast, privacy-first, browser-based productivity suite built with SolidJS and Vite.
4+ It provides a collection of lightweight tools designed to run entirely in the browser — no accounts, no tracking, no backend required.
45
5- <sub > This README was just made by gpt until I actually make one. Not a super detailed one either <sub >
6- ## Features
7- - Notebook: Markdown support, auto-save to IndexedDB, organized by notebooks and pages.
8- - HTML Previewer: Real-time preview of HTML/CSS/JS.
9- - Theming: Custom YAML-driven themes with live preview in Settings.
10- - Lightning-fast AI-powered citation generator: Ultra-quick, faster than Scribr + MyBib (Powered by [ Pollinations] ( https://pollinations.ai )
6+ Live site: [ https://simpletools.lol ] ( https://simpletools.lol )
117
12- ## Setup
13- 1 . ` npm install `
14- 2 . ` npm run dev `
8+ ---
9+
10+ # Overview
11+
12+ SimpleTools is designed to be:
13+
14+ * ⚡ Extremely fast (Vite + SolidJS)
15+ * 🔒 Privacy-friendly (client-side storage, no accounts)
16+ * 🎨 Customizable (YAML-driven theme system)
17+ * 🧩 Modular (independent tool pages)
18+ * 📦 Deployable as static hosting
19+
20+ Everything runs in the browser using IndexedDB and modern web APIs.
21+
22+ ---
23+
24+ # Who It's For
25+
26+ SimpleTools is built for:
27+
28+ * Students who need quick citations and organized notes
29+ * Developers who want a live HTML/CSS/JS preview tool
30+ * Writers who want markdown-based notebooks
31+ * Privacy-conscious users who don’t want cloud logins
32+ * Anyone who wants fast, no-sign-up browser tools
33+
34+ ---
35+
36+ # Features
37+
38+ ## 📓 Notebook Library
39+
40+ * Markdown support (via ` marked ` )
41+ * Organized by notebooks and pages
42+ * Auto-save to IndexedDB (Dexie)
43+ * Fully client-side
44+ * Persistent between sessions
45+
46+ ## 🌐 HTML Viewer
47+
48+ * Real-time HTML/CSS/JS preview
49+ * Instant rendering
50+ * Safe isolated preview environment
51+ * Useful for prototyping and debugging snippets
52+
53+ ## 📚 SimpleCite (AI Citation Generator)
54+
55+ * AI-powered citation generation
56+ * Designed to be fast and minimal
57+ * Generates academic references quickly
58+ * No account required
59+
60+ ## 🧰 SimpleSuite
61+
62+ * Text utility suite
63+ * Lightweight transformation tools
64+ * Designed for speed and ease of use
65+
66+ ## 🔗 TextLink
67+
68+ * Text encoding / transfer utilities
69+ * Compact sharing mechanisms
70+
71+ ## 🎨 YAML Theme Engine
72+
73+ * Drop-in theme files
74+ * Live preview in settings
75+ * Full UI recoloring
76+ * Stored in local storage
77+
78+ Themes live in:
79+
80+ ```
81+ public/themes/
82+ ```
83+
84+ Example theme format:
1585
16- ## Themes
17- Themes live in ` public/themes/ ` . Drop in your own YAML file there, following the schema:
1886``` yaml
1987name : MyTheme
2088mainColor : " #hex"
@@ -24,3 +92,279 @@ textColor: "#hex"
2492sidebarColor : " #hex"
2593accentColor : " #hex"
2694` ` `
95+
96+ ---
97+
98+ # How It Works
99+
100+ ## Frontend Framework
101+
102+ * SolidJS for reactive UI
103+ * Vite for ultra-fast bundling
104+ * TypeScript for type safety
105+
106+ ## Data Storage
107+
108+ * IndexedDB via Dexie (` src/db.ts`)
109+ * Auto-save system
110+ * No external database
111+
112+ # # Theming System
113+
114+ * YAML files parsed using `js-yaml`
115+ * Theme state managed in `src/store/themeStore.ts`
116+ * Applied dynamically to CSS variables
117+
118+ # # Service Worker
119+
120+ * `public/sw.js`
121+ * Registered via `src/swClient.ts`
122+ * Enables caching and offline behavior
123+
124+ # # Routing
125+
126+ * `@solidjs/router`
127+ * Each tool lives under `src/pages/`
128+
129+ ---
130+
131+ # Tech Stack
132+
133+ * SolidJS
134+ * Vite
135+ * TypeScript
136+ * Dexie (IndexedDB wrapper)
137+ * js-yaml
138+ * marked (Markdown parser)
139+ * lucide-solid (icons)
140+ * lz-string (compression)
141+ * jszip (exports / packaging)
142+
143+ ---
144+
145+ # Requirements
146+
147+ To run locally you need :
148+
149+ * Node.js 18+
150+ * npm (or compatible package manager)
151+
152+ ---
153+
154+ # Installation
155+
156+ Clone the repository :
157+
158+ ` ` ` bash
159+ git clone https://github.com/your-username/simpletools.git
160+ cd simpletools
161+ ` ` `
162+
163+ Install dependencies :
164+
165+ ` ` ` bash
166+ npm install
167+ ` ` `
168+
169+ Start development server :
170+
171+ ` ` ` bash
172+ npm run dev
173+ ` ` `
174+
175+ The app will start on :
176+
177+ ` ` `
178+ http://localhost:5173
179+ ` ` `
180+
181+ ---
182+
183+ # Build for Production
184+
185+ ` ` ` bash
186+ npm run build
187+ ` ` `
188+
189+ This will :
190+
191+ * Compile TypeScript
192+ * Generate optimized static files in `dist/`
193+
194+ To preview production build locally :
195+
196+ ` ` ` bash
197+ npm run preview
198+ ` ` `
199+
200+ ---
201+
202+ # Deployment
203+
204+ SimpleTools is a fully static app and can be deployed anywhere.
205+
206+ # # Option 1: Cloudflare Pages
207+
208+ 1. Connect GitHub repository
209+ 2. Build command :
210+
211+ ` ` `
212+ npm run build
213+ ` ` `
214+ 3. Output directory :
215+
216+ ` ` `
217+ dist
218+ ` ` `
219+ 4. Set Node version to 18+
220+
221+ # # Option 2: Netlify
222+
223+ * Build command: `npm run build`
224+ * Publish directory: `dist`
225+
226+ # # Option 3: Vercel
227+
228+ * Framework preset: Vite
229+ * Output directory: `dist`
230+
231+ # # Option 4: Static Hosting
232+
233+ Upload contents of :
234+
235+ ` ` `
236+ dist/
237+ ` ` `
238+
239+ To any static server (NGINX, Apache, S3, etc.)
240+
241+ ---
242+
243+ # Environment & Configuration
244+
245+ The app contains :
246+
247+ ` ` `
248+ public/env-ob.json
249+ ` ` `
250+
251+ Used for obfuscated environment configuration.
252+
253+ If modifying environment handling, see :
254+
255+ ` ` `
256+ src/utils/env.ts
257+ ` ` `
258+
259+ ---
260+
261+ # Project Structure
262+
263+ ```
264+ simpletools/
265+ │
266+ ├── public/ # Static assets
267+ │ ├── themes/ # YAML themes
268+ │ ├── sw.js # Service worker
269+ │ ├── robots.txt
270+ │ ├── sitemap.xml
271+ │ └── site.webmanifest
272+ │
273+ ├── src/
274+ │ ├── components/ # Reusable UI components
275+ │ │ ├── Sidebar.tsx
276+ │ │ └── SettingsModal.tsx
277+ │ │
278+ │ ├── pages/ # Individual tool pages
279+ │ │ ├── Notebook.tsx
280+ │ │ ├── HtmlViewer.tsx
281+ │ │ ├── SimpleCite.tsx
282+ │ │ ├── SimpleSuite.tsx
283+ │ │ └── TextLink.tsx
284+ │ │
285+ │ ├── store/ # State management
286+ │ │ └── themeStore.ts
287+ │ │
288+ │ ├── utils/ # Utilities
289+ │ │ ├── dataTransfer.ts
290+ │ │ └── env.ts
291+ │ │
292+ │ ├── db.ts # IndexedDB setup
293+ │ ├── swClient.ts # Service worker registration
294+ │ ├── App.tsx # Main app layout
295+ │ └── index.tsx # Entry point
296+ │
297+ ├── vite.config.ts
298+ ├── package.json
299+ ├── tsconfig* .json
300+ ├── _ headers # Cache control rules
301+ └── LICENSE
302+ ```
303+
304+ ---
305+
306+ # Offline & Caching
307+
308+ * `_headers` defines aggressive static caching.
309+ * Service worker caches static assets.
310+ * IndexedDB ensures notebook persistence offline.
311+
312+ ---
313+
314+ # Security & Privacy
315+
316+ * No required login
317+ * No backend database
318+ * All notes stored locally
319+ * No forced tracking
320+ * Analytics (if enabled) are privacy-focused
321+
322+ ---
323+
324+ # License
325+
326+ This project is licensed under the **GNU Affero General Public License v3**.
327+
328+ Because this is AGPL:
329+
330+ * If you deploy a modified version publicly,
331+ * You must provide source access to users.
332+
333+ See `LICENSE` for full details.
334+
335+ ---
336+
337+ # Contributing
338+
339+ 1. Fork the repository
340+ 2. Create a new branch
341+ 3. Make changes
342+ 4. Submit a pull request
343+
344+ Please keep changes minimal, modular, and performance-focused.
345+
346+ ---
347+
348+ # Philosophy
349+
350+ SimpleTools is built around:
351+
352+ * Simplicity
353+ * Speed
354+ * Ownership of your data
355+ * Zero friction
356+
357+ No accounts. No nonsense. Just tools.
358+
359+ ---
360+
361+ If you'd like, I can also generate:
362+
363+ * A shorter marketing-style README
364+ * A developer-focused README
365+ * A more technical architecture deep dive
366+ * A contribution guideline doc
367+ * A security policy
368+ * A Cloudflare Pages–optimized deployment guide
369+
370+ Just tell me which direction you want.
0 commit comments