Pinafore’s development branch, with some opinionated themes
Go to file
greenkeeper[bot] ef80919269 Update esm to the latest version 🚀 (#184)
* fix(package): update esm to version 3.0.20

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2018-04-19 18:43:05 -07:00
assets set up deploy dev/prod scripts 2018-04-04 18:33:08 -07:00
bin mute and unmute accounts (#127) 2018-04-14 22:18:48 -07:00
docs Add CSP (#119) 2018-04-14 15:50:16 -07:00
fixtures travis: use special pinafore user for postgres 2018-04-10 18:39:56 -07:00
original-assets add windows icons, optimize icons 2018-03-22 20:43:16 -07:00
routes fix requestIdleCallback not defined in Edge (#180) 2018-04-19 10:35:34 -07:00
scss upgrade to node-sass 4.8.3 (#165) 2018-04-18 21:38:16 -07:00
templates upgrade to node-sass 4.8.3 (#165) 2018-04-18 21:38:16 -07:00
tests fix mute test (#174) 2018-04-19 09:34:49 -07:00
.gitignore Add CSP (#119) 2018-04-14 15:50:16 -07:00
.travis.yml travis: make deploy-dev-trais an allowed failure 2018-04-14 22:09:38 -07:00
CONTRIBUTING.md docs: move Building documentation to README 2018-04-15 09:48:52 -07:00
LICENSE add footer and license 2018-03-07 09:25:07 -08:00
README.md docs: remove JS standard badge as it's not very relevant 2018-04-15 22:07:37 -07:00
inline-script.js Add CSP (#119) 2018-04-14 15:50:16 -07:00
package-lock.json Update esm to the latest version 🚀 (#184) 2018-04-19 18:43:05 -07:00
package.json Update esm to the latest version 🚀 (#184) 2018-04-19 18:43:05 -07:00
server.js disable CSP for /report.html (#151) 2018-04-17 18:38:14 -07:00
webpack.client.config.js remove lodash forEach to reduce bundle size (#156) 2018-04-17 21:47:39 -07:00
webpack.server.config.js use standard 2018-02-08 22:29:29 -08:00

README.md

Pinafore Build Status Greenkeeper badge

An alternative web client for Mastodon, focused on speed and simplicity.

Pinafore is available at pinafore.social. Bleeding-edge releases are at dev.pinafore.social.

See the user guide for basic usage.

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.

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
  • Android/iOS apps (using Cordova or similar)
  • Support Pleroma/non-Mastodon backends
  • i18n
  • Offline search
  • Full emoji keyboard
  • Keyboard shortcuts

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
  • Works offline in read-write mode (would require sophisticated sync logic)

Building

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 v8+.

Developing and testing

See CONTRIBUTING.md for how to run Pinafore in dev mode and run tests.