https://github.com/sakihet/paperie
Note-taking PWA
https://github.com/sakihet/paperie
indexeddb markdown notes plaintext pwa typescript vue
Last synced: 10 months ago
JSON representation
Note-taking PWA
- Host: GitHub
- URL: https://github.com/sakihet/paperie
- Owner: sakihet
- License: mit
- Created: 2022-07-12T14:49:22.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-06-06T13:08:45.000Z (almost 3 years ago)
- Last Synced: 2025-07-19T15:25:09.363Z (10 months ago)
- Topics: indexeddb, markdown, notes, plaintext, pwa, typescript, vue
- Language: Vue
- Homepage: https://paperie.app
- Size: 1.56 MB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Paperie
Paperie is a simplicity first note-taking PWA for individuals.


## Try it now
[Paperie](https://paperie.app/)
## Tech
- Tooling: [Vite](https://vitejs.dev/)
- PWA: [PWA Vite Plugin](https://vite-pwa-org.netlify.app/)
- View: [Vue](https://vuejs.org/)
- Router: [Vue Router](https://router.vuejs.org/)
- State management: [Reactivity API](https://vuejs.org/guide/scaling-up/state-management.html#simple-state-management-with-reactivity-api)
- Storage: [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)
- IndexedDB: [idb](https://github.com/jakearchibald/idb)
- Style: Plain old CSS for future-proof
## Icons
- [Material Symbols](https://fonts.google.com/icons?icon.set=Material+Symbols)
## Contributing
### New features
Please [open a new issue](https://github.com/sakihet/paperie/issues).
### Bug fixes
Please [open a new pull request](https://github.com/sakihet/paperie/pulls) for the given fix.
## LICENSE
MIT
## Development
```
npm install
npm run dev
```
IDE Setup
### Recommended IDE Setup
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)
### Type Support For `.vue` Imports in TS
Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's Take Over mode by following these steps:
1. Run `Extensions: Show Built-in Extensions` from VS Code's command palette, look for `TypeScript and JavaScript Language Features`, then right click and select `Disable (Workspace)`. By default, Take Over mode will enable itself if the default TypeScript extension is disabled.
2. Reload the VS Code window by running `Developer: Reload Window` from the command palette.
You can learn more about Take Over mode [here](https://github.com/johnsoncodehk/volar/discussions/471).