Pinafore’s development branch, with some opinionated themes
| assets | ||
| bin | ||
| fixtures | ||
| original-assets | ||
| routes | ||
| scss | ||
| templates | ||
| tests | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.js | ||
| webpack.client.config.js | ||
| webpack.server.config.js | ||
Pinafore
An alternative web client for Mastodon.
Goals and non-goals
This section lays out some high-level goals for Pinafore, as well as the goals it doesn't intend to tackle.
Goals
- Support the most common use cases
- Fast even on low-end phones
- Works offline in read-only mode
- Progressive Web App features
- Multi-instance support
- Support latest versions of Chrome, Edge, Firefox, and Safari
- a11y (keyboard navigation, screen readers)
Possible future goals
- Works as an alternative frontend self-hosted by instances
- Ship in the Android/iOS app stores as a Cordova app
- Support Pleroma/non-Mastodon backends
- i18n
- Offline search
- Full emoji keyboard
Non-goals
- Supporting old browsers, proxy browsers, or text-based browsers
- React Native / NativeScript / hybrid-native version
- Full functionality with JavaScript disabled
- Emoji support beyond the built-in system emoji
- Multi-column support
- Keyboard shortcuts
- Admin/moderation panel
- Works offline in read-write mode
Building and contributing
See CONTRIBUTING.md.