2018-04-16 06:07:37 +01:00
|
|
|
# Pinafore [![Build Status](https://travis-ci.org/nolanlawson/pinafore.svg)](https://travis-ci.org/nolanlawson/pinafore) [![Greenkeeper badge](https://badges.greenkeeper.io/nolanlawson/pinafore.svg)](https://greenkeeper.io/)
|
2018-04-14 17:41:56 +01:00
|
|
|
|
2018-04-02 07:15:52 +01:00
|
|
|
An alternative web client for [Mastodon](https://joinmastodon.org]), focused on speed and simplicity.
|
|
|
|
|
2018-04-02 07:18:50 +01:00
|
|
|
Pinafore is available at [pinafore.social](https://pinafore.social). Bleeding-edge releases are at [dev.pinafore.social](https://dev.pinafore.social).
|
2018-04-02 07:15:52 +01:00
|
|
|
|
2018-04-02 07:18:50 +01:00
|
|
|
See the [user guide](https://github.com/nolanlawson/pinafore/blob/master/docs/User-Guide.md) for basic usage.
|
2018-04-02 07:15:52 +01:00
|
|
|
|
|
|
|
## Browser support
|
|
|
|
|
|
|
|
Pinafore supports the latest versions of the following browsers:
|
|
|
|
|
|
|
|
- Chrome
|
|
|
|
- Edge
|
|
|
|
- Firefox
|
|
|
|
- Safari
|
|
|
|
|
|
|
|
Compatible versions of each (Opera, Brave, Samsung, etc.) should be fine.
|
2018-02-18 22:38:10 +00:00
|
|
|
|
2018-03-11 19:55:46 +00:00
|
|
|
## Goals and non-goals
|
|
|
|
|
|
|
|
### 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
|
2018-04-09 01:30:02 +01:00
|
|
|
- Android/iOS apps (using Cordova or similar)
|
2018-03-11 19:55:46 +00:00
|
|
|
- Support Pleroma/non-Mastodon backends
|
|
|
|
- i18n
|
2018-03-21 15:39:06 +00:00
|
|
|
- Offline search
|
2018-03-31 01:55:55 +01:00
|
|
|
- Full emoji keyboard
|
2018-04-05 02:33:14 +01:00
|
|
|
- Keyboard shortcuts
|
2018-03-11 19:55:46 +00:00
|
|
|
|
|
|
|
### 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
|
|
|
|
- Admin/moderation panel
|
2018-04-05 02:33:14 +01:00
|
|
|
- Works offline in read-write mode (would require sophisticated sync logic)
|
2018-03-11 19:55:46 +00:00
|
|
|
|
2018-04-15 17:48:52 +01:00
|
|
|
## Building
|
2018-02-18 22:38:10 +00:00
|
|
|
|
2018-04-15 17:48:52 +01:00
|
|
|
To build Pinafore for production:
|
|
|
|
|
|
|
|
npm install
|
|
|
|
npm run build
|
|
|
|
PORT=4002 npm start
|
|
|
|
|
|
|
|
Now Pinafore is running at `localhost:4002`.
|
|
|
|
|
|
|
|
Pinafore requires [Node.js](https://nodejs.org/en/) v8+.
|
|
|
|
|
|
|
|
## Developing and testing
|
|
|
|
|
|
|
|
See [CONTRIBUTING.md](https://github.com/nolanlawson/pinafore/blob/master/CONTRIBUTING.md) for
|
|
|
|
how to run Pinafore in dev mode and run tests.
|