Digi Notebook is a fully client-side, offline-first digital journaling and note-taking app built as a single HTML file. It mimics the UX of Google Docs while ensuring total autonomy, privacy, and portability. No servers, no dependenciesβjust open the file and start writing. (note, the taskbar inside each note is not quite functionall, but is being worked on. please be patient with me. we also suggest you export notes and journals before closing the tab, because notes right now are not saved at all. we are sorry for the inconvenience Thank you!)
- Offline-First: Works entirely in-browser with no network required.
- Single-File Architecture: All logic, styles, and data are embedded in one HTML file.
- Rich Text Editor: Google Docs-style formatting with headers, font sizes, highlights, lists, links, and dividers.
- Journals & Notes: Organize notes into color-coded journals with autosave and metadata.
- Autosave Logic: Changes are saved in memory with visual indicators for unsaved edits.
- Export Options:
- Export individual notes as standalone HTML files.
- Export entire journals as ZIP archives (offline JSZip implementation).
- Responsive UI: Mobile-friendly sidebar and overlay navigation.
- No External Storage: All data lives in memoryβideal for ephemeral or secure use cases.
- HTML/CSS/JS: No frameworks, no build tools.
- TailwindCSS: CDN-based utility-first styling.
- Font Awesome: Iconography via CDN.
- Custom JS Classes:
GoogleDocsRichTextEditor: Modular rich text editor with formatting state tracking.JSZip&saveAs: Minimal offline implementations for ZIP and file export.
This repo contains a single file:
Open it in any modern browser to begin. No installation required.
- Privacy: No data is transmitted or stored externally. All content remains local to the user's browser session.
- Exported Files: HTML exports include embedded metadata (timestamps, journal name) for auditability.
- Licensing: This project is open-source and provided under the MIT License. See
LICENSE.mdfor details.
You can modify the following directly in the file:
- Initial Journals & Notes: Located in the
initializeDigiNotebook()function. - Editor Styles: Customize font sizes, highlight colors, and toolbar behavior via embedded
<style>tags. - Export Templates: Modify the HTML structure of exported notes/journals in
exportCurrentNote()andexportCurrentJournal().
- Use browser dev tools to inspect and tweak styles or logic.
- To persist data across sessions, consider integrating
localStorageorIndexedDB(not included by default). - For institutional deployment, wrap the file in a compliant iframe or kiosk mode browser.
GNU AFFERO GENERAL PUBLIC LICENSE Β© 2025 Mr.Pushcarts
See LICENSE.md for full terms.
Built by Mr. Pushcarts - highschool student, and an offline-first enthusiast.
For inquiries, forks, or collaboration, feel free to reach out via GitHub.