[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81996":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":14,"stars30d":15,"stars90d":13,"forks30d":13,"starsTrendScore":16,"compositeScore":17,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":8,"pushedAt":8,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":13,"starSnapshotCount":13,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},81996,"oSlide2","not0kkinex\u002FoSlide2","not0kkinex",null,"JavaScript",57,3,5,0,4,25,1,40.31,false,"master",true,[],"2026-06-12 04:01:36","![Star Check](https:\u002F\u002Fwww.fakestarchecker.com\u002Fapi\u002Fbadge\u002Fnot0kkinex\u002FoSlide2.svg)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Ficon-hq.png\" alt=\"oSlide2\" width=\"128\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">oSlide2\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  Electron-based slide\u002Fpresentation app — zero frameworks, vanilla JS\n  \u003Cbr\u002F>\n  \u003Ca href=\"#features\">Features\u003C\u002Fa> ·\n  \u003Ca href=\"#installation\">Installation\u003C\u002Fa> ·\n  \u003Ca href=\"#build\">Build\u003C\u002Fa> ·\n  \u003Ca href=\"#todo\">TODO\u003C\u002Fa> ·\n\u003C\u002Fp>\n\n## Releases\n\nSee [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fnot0kkinex\u002FoSlide2\u002Freleases) for downloads and changelog.\n\n### v0.2.0 (2026-05-27)\n\n- **Editor redesign** — 5-group topbar, canvas ruler, zoom bar, AI FAB, status bar, panel tabs (Element\u002FSlide\u002FAnimation), redesigned settings panel\n- **Home screen redesign** — sidebar navigation, topbar search, 4-column card grid, list view, empty state\n- **Light mode** — full light\u002Fdark theme support for both home and editor pages\n- **Inno Setup installer** — dark-themed setup wizard with Turkish\u002FEnglish, custom bitmaps, gold accent (#FFD700)\n- **Security fixes** — `renderMD()` XSS fix (href protocol whitelist), `--allow-file-access-from-files` removed, `structuredClone()` instead of `JSON.parse(JSON.stringify())`\n- **Editor refactor** — split `editor.js` into `ai-ui.js` and `export.js`\n- **i18n updates** — new home screen keys, version bumped in locale files\n- **Zoom** — range 0.25–3, step 0.1, CSS transform scaling\n- **Status bar** — save status dot (red\u002Fgreen), slide count, element count\n- **Project filename** — displays actual project name in topbar\n\n### v0.1.1 (2026-05-26)\n\n- Simplified toolbar — removed non-functional icon buttons\n- Updated app icon: black-to-yellow gradient, bold O letter with accents, rounded corners, drop shadows\n- v0.1.1 portable EXE\n\n### v0.1.0 (2026-05-26)\n\n- Portable single-file EXE (self-signed) — no install required\n- AI assistant, multi-select + alignment, animations, theme system\n- i18n (Turkish\u002FEnglish), snap guides, presentation annotations, favorites\n\n## Features\n\n- **AI Assistant** — Generate slides, edit content, and execute commands via Pollinations.ai API\n- **Multi-Select** — Shift+click to select multiple elements; align (left\u002Fcenter\u002Fright\u002Ftop\u002Fmiddle\u002Fbottom), distribute (horizontal\u002Fvertical), match width\u002Fheight\n- **Animations** — Slide transitions (fade\u002Fslide\u002Fzoom), per-element entrance & emphasis effects, auto-stagger, \"Apply to All\"\n- **Theme System** — Project themes with customizable colors, fonts, animations; theme picker with visual cards\n- **Presentation Mode** — Fullscreen slideshow with pen and highlighter annotation tools\n- **Snap Guides** — Visual alignment lines while dragging elements\n- **Project Management** — Create, open, rename, duplicate, delete, favorite projects\n- **DOM-Based Editor** — Add text, titles, images, rectangles, circles, arrows; properties panel\n- **Slide Management** — Add, duplicate, delete, reorder via drag-and-drop thumbnails\n- **Undo \u002F Redo** — Unlimited history stack\n- **Export \u002F Import** — Export to PDF or PNG; import\u002Fexport project files\n- **Keyboard Shortcuts** — Fully customizable via Settings > Shortcuts\n- **i18n** — Turkish & English localization (extensible)\n- **Themes** — Dark, Light, and System with 3-card selector\n- **Context Menu** — Right-click for project cards and editor elements\n- **Dev Console** — Toggle with F12 for debugging\n- **Auto-Save** — Periodic save to prevent data loss\n\n## Built With\n\n- [Electron](https:\u002F\u002Fwww.electronjs.org\u002F) — Desktop framework\n- [Lucide](https:\u002F\u002Flucide.dev\u002F) — Icons\n- [Inter](https:\u002F\u002Ffonts.google.com\u002Fspecimen\u002FInter) — UI font\n- Vanilla JavaScript — No frameworks\n\n## Installation\n\n```bash\nnpm install\nnpm start\n```\n\n## Usage\n\n1. Launch app — home screen appears\n2. Click \"New Project\" or open an existing one\n3. Use the toolbar to add and arrange elements\n4. Press F5 for presentation mode\n5. Press Ctrl+S to save\n\n## Build\n\n```bash\nnpm run build\n```\n\nOutput: `dist\u002Fwin-unpacked\u002FoSlide2.exe` — Portable app (package with your own distributable)\n\n## Project Structure\n\n```\n├── main.js                  # Electron main process\n├── preload.js               # IPC bridge\n├── home.html                # Home screen\n├── editor.html              # Slide editor\n├── presentation.html        # Presentation mode\n├── css\u002F\n│   ├── home.css\n│   ├── editor.css\n│   └── presentation.css\n├── js\u002F\n│   ├── core\u002F\n│   │   ├── state.js         # Application state, undo\u002Fredo\n│   │   └── actions.js       # Slide and element CRUD\n│   ├── ui\u002F\n│   │   ├── renderer.js      # DOM rendering\n│   │   ├── canvas.js        # Canvas interactions (drag, resize)\n│   │   └── panels.js        # Properties panel\n│   ├── services\u002F\n│   │   ├── projectManager.js # Project CRUD\n│   │   ├── fileManager.js   # File I\u002FO\n│   │   ├── shortcuts.js     # Customizable shortcuts\n│   │   ├── i18n.js          # Localization\n│   │   └── theme.js         # Theme management\n│   ├── pages\u002F\n│   │   ├── home.js          # Home screen logic\n│   │   ├── editor.js        # Editor logic\n│   │   └── presentation.js  # Presentation logic\n│   └── locales\u002F\n│       ├── tr.json          # Turkish translations\n│       └── en.json          # English translations\n└── package.json\n```\n\n## Keyboard Shortcuts\n\n| Shortcut | Action |\n|----------|--------|\n| Ctrl+Z | Undo |\n| Ctrl+Y | Redo |\n| Ctrl+S | Save |\n| Ctrl+C | Copy |\n| Ctrl+V | Paste |\n| Ctrl+B | Bold |\n| Ctrl+I | Italic |\n| Ctrl+U | Underline |\n| Delete \u002F Backspace | Delete selected |\n| F5 | Start presentation |\n| F12 | Toggle dev console |\n| Escape | Close dialog\u002Fmenu |\n\nAll shortcuts are customizable in Settings > Shortcuts.\n\n## Contributors\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnot0kkinex\u002FoSlide2\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=not0kkinex\u002FoSlide2\" \u002F>\n\u003C\u002Fa>\n\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=not0kkinex%2FoSlide2&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=not0kkinex\u002FoSlide2&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=not0kkinex\u002FoSlide2&type=date&legend=top-left\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=not0kkinex\u002FoSlide2&type=date&legend=top-left\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n\n## TODO\n\n- [x] Slide templates & layouts\n- [x] Charts & data visualization\n- [ ] Cloud sync \u002F backup\n- [ ] Collaborative editing\n- [ ] Mobile remote control\n- [ ] Plugin \u002F extension system\n- [ ] Video export (MP4\u002FWebM)\n- [ ] Custom themes marketplace\n- [ ] PDF import\n- [x] Undo\u002Fredo for element position changes during drag\n\n","oSlide2 是一个基于 Electron 的幻灯片\u002F演示文稿应用程序，使用纯 JavaScript 构建，不依赖任何框架。该项目的核心功能包括支持 AI 助手生成和编辑内容、多选与对齐工具、丰富的动画效果及主题系统等。此外，它还提供了全屏演示模式、项目管理和 DOM 基础的编辑器等功能。oSlide2 适用于需要创建专业且具有个性化风格的演示文稿场景，特别适合追求简洁高效开发方式的技术爱好者或团队使用。",2,"2026-06-11 04:07:26","CREATED_QUERY"]