https://github.com/iamshouvikmitra/slate
Slate let's you write & share information without storing them on any server! All data is contained in the URL itself and is dynamically rendered when viewing.
https://github.com/iamshouvikmitra/slate
css html itty-bitty javascript serverless slate
Last synced: about 1 month ago
JSON representation
Slate let's you write & share information without storing them on any server! All data is contained in the URL itself and is dynamically rendered when viewing.
- Host: GitHub
- URL: https://github.com/iamshouvikmitra/slate
- Owner: iamshouvikmitra
- License: mit
- Created: 2018-08-10T17:31:47.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-16T06:13:16.000Z (over 1 year ago)
- Last Synced: 2025-03-16T07:20:20.800Z (over 1 year ago)
- Topics: css, html, itty-bitty, javascript, serverless, slate
- Language: HTML
- Homepage: https://slate.js.org
- Size: 76.2 KB
- Stars: 10
- Watchers: 3
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
  [](http://makeapullrequest.com)
# Slate ๐
Slate Notes takes html (or other data), compresses it into a URL fragment, and provides a link that can be shared. When it is opened, it renders that data on the receiverโs side. Its live [here](http://iamshouvikmitra.github.io/slate).
# About
Slate Notes are contained entirely within their own link. (Including this one!) This means they're...
๐ผ Portable - you don't need a server to host them
๐ Private - nothing is sent toโor stored onโthis server
๐ Easy to share as a link or QR code
Slate Notes can hold about as much as a printed page, and there is a lot you can do with that:
โ๏ธ Compose poetry
๐ Create an app
๐ฆ Bypass a 140 280 char limit
๐จ Express yourself in ascii
## Hosting
One simple way to host is to forward a domain. Just paste your slate's url in the redirect.
## Technical Details
### How it Works
1. **Data Flow**
- Content is compressed using LZMA with maximum compression (level 9)
- Compressed data is converted to base64
- Base64 is made URL-safe by replacing special characters
- Final URL contains everything needed to render the content
2. **Compression**
- Uses LZMA (Lempel-Ziv-Markov chain Algorithm)
- Typically achieves 30-50% better compression than gzip
- Maintains UTF-8 encoding for emojis and special characters
- Allows for longer content in URLs
3. **Features**
- Client-side compression and decompression
- No server storage needed
- Mobile-friendly with native sharing
- QR code generation for easy mobile sharing
- Supports text formatting and emojis
4. **Size Limits**
- Title: 100 characters
- Content: 5000 characters
- Compressed size varies based on content type
5. **Browser Support**
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Requires JavaScript enabled
- Uses Web Share API on mobile when available
- Falls back gracefully for older browsers
### Architecture
```
Content โ LZMA Compression โ Base64 Encoding โ URL-safe Characters โ Shareable URL
```
### Contributions
Feel free to open a pull request adding your new features, resolving issues, cleaning code or making this readme super awesome ๐
### Screenshot.

### License
Slate Notes is covered by the MIT License.
Copyright (C) 2018 - 2025 ~ [Shouvik Mitra](http://iamshouvikmitra.github.io) ~ work.shouvikmitra@gmail.com
### Inspiration
This website is an inspiration from [itty.bitty.site](https://bitty.site/edit)