https://github.com/luigichopper/simplewriter
A single-file HTML-based book writing application
https://github.com/luigichopper/simplewriter
browser-based html lightweight writing-application
Last synced: 4 months ago
JSON representation
A single-file HTML-based book writing application
- Host: GitHub
- URL: https://github.com/luigichopper/simplewriter
- Owner: Luigichopper
- License: mit
- Created: 2025-02-25T22:12:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-26T07:20:21.000Z (over 1 year ago)
- Last Synced: 2025-05-31T09:43:24.068Z (about 1 year ago)
- Topics: browser-based, html, lightweight, writing-application
- Language: HTML
- Homepage:
- Size: 95.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# SimpleWriter



SimpleWriter is a lightweight, browser-based book writing application designed to be minimal yet powerful. Write your novel, short story, or non-fiction book with a distraction-free interface and essential writing tools—no installation, no cloud service, no subscription fees.

## Features
- **Distraction-free writing environment** with a clean, modern interface
- **Chapter management** to organize your book
- **Rich text formatting** including headings, bold, italic, quotes, and lists
- **Word & character counting** with real-time statistics
- **Writing goals** to track your progress
- **Auto-save** to browser storage every 30 seconds
- **Import & export** in various formats (JSON, HTML, Markdown, Plain Text)
- **Extensible architecture** with plugin support for custom features
- **No account required** - your data stays on your device
- **Works offline** once loaded in your browser
## Getting Started
1. **Download the HTML file** from the [releases page](https://github.com/luigichopper/simplewriter/releases) or clone this repository.
2. **Open the HTML file** in any modern web browser (Chrome, Firefox, Safari, Edge).
3. **Start writing!** Your work is automatically saved to your browser's local storage.
That's it! No installation, no setup, no account creation.
## Usage
### Managing Chapters
- Click the **+** button next to "Chapters" to add a new chapter
- Click on a chapter in the sidebar to switch to it
- Click the rename/delete icons to modify or remove chapters
### Setting Goals
- Click the **+** button next to "Writing Goals" to add a new goal
- Set a target word count and description
- Track your progress with the visual progress bars
### Formatting Text
Use the toolbar to format your text:
- **B** - Bold text
- **I** - Italic text
- **U** - Underline text
- **H1/H2/H3** - Headings
- **Quote** - Blockquote
- **List icons** - Bulleted or numbered lists
### Saving Your Work
- Work is automatically saved to your browser's local storage every 30 seconds
- Click "Export" to save your book as JSON, HTML, Markdown, or Plain Text
- Use "Import" to restore from a previously exported JSON file
## Extension System
SimpleWriter features a powerful extension system that allows you to add new functionality. Extensions can modify the UI, add new features, or change the behavior of the editor.
### Built-in Extensions
SimpleWriter comes with several built-in extensions:
1. **Dark Mode** - Switch to a dark theme for night-time writing
2. **Focus Mode** - Fade out everything except the current paragraph
3. **Pomodoro Timer** - Built-in writing timer with work/break cycles
### Installing External Extensions
1. Click the extension icon in the top-right corner
2. Select the "Add New" tab
3. Click "Choose File" and select an extension file (.js)
4. Click "Upload Extension"
5. Enable the extension using the toggle switch
### Available Extensions
These extensions are available in the `extensions` folder:
- **Spell Check** - Basic spell checking with suggestions
- **Enhanced Spell Check** - Multi-language spell checking using Typo.js
- [More extensions coming soon!]
## Creating Your Own Extensions
You can create custom extensions to add features to SimpleWriter. Here's a basic template:
```javascript
(function(env) {
env.registerExtension({
id: 'your-extension-id',
name: 'Your Extension Name',
description: 'Description of what your extension does',
enabled: false,
enabledByDefault: false,
// Lifecycle methods
onEnable: function() {
// Code that runs when the extension is enabled
},
onDisable: function() {
// Code that runs when the extension is disabled
},
// Extension hooks
hooks: {
// Hook into app events
onEditorInput: function(editor) {
// Process editor input
return editor;
},
onChapterLoad: function(editor, chapter) {
// Do something when a chapter is loaded
return editor;
}
}
});
})(env);
```
See the [Extension Development Guide](docs/extensions.md) for more detailed information.
## Data Privacy
SimpleWriter is committed to your privacy:
- **All data stays local** on your device using browser storage
- **No server connections** - everything happens in your browser
- **No tracking or analytics** - we don't collect any data
- **No cloud sync** - for maximum privacy (but remember to export your work regularly!)
## Browser Compatibility
SimpleWriter works with all modern browsers:
- Chrome 60+
- Firefox 60+
- Safari 12+
- Edge 79+
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.
## Acknowledgments
- [Typo.js](https://github.com/cfinke/Typo.js) for spell checking functionality
- [Bootstrap Icons](https://icons.getbootstrap.com/) for UI icons
- All the open-source contributors who made this project possible
---
Made with ❤️ for writers everywhere