All Projects → nolanlawson → Pinafore

nolanlawson / Pinafore

Licence: agpl-3.0
Alternative web client for Mastodon

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Pinafore

Cookiecutter Django Vue
Cookiecutter Django Vue is a template for Django-Vue projects.
Stars: ✭ 462 (-16.91%)
Mutual labels:  pwa
Go App
A package to build progressive web apps with Go programming language and WebAssembly.
Stars: ✭ 5,607 (+908.45%)
Mutual labels:  pwa
Javascriptstudy
JavaScript的学习代码总结,高级特性、数据结构、设计模式、typescript、vue、angular、react、node、webpack、weex、小程序、tensorflow…,JavaScript是世界上最好的语言!
Stars: ✭ 529 (-4.86%)
Mutual labels:  pwa
Sol Journal
✎ Simple, personal journaling progressive web app
Stars: ✭ 470 (-15.47%)
Mutual labels:  pwa
Angular Shoppingcart
ShoppingCart (Ecommerce) 🛒 Application using Angular10, Firebase, PWA, Drag&Drop, Materialized Bootstrap and i18n 🚀🔥👨‍💻
Stars: ✭ 483 (-13.13%)
Mutual labels:  pwa
Awesome Meta And Manifest
⚡ Awesome collection of meta tags & manifest properties.
Stars: ✭ 499 (-10.25%)
Mutual labels:  pwa
Toot
toot - Mastodon CLI & TUI
Stars: ✭ 455 (-18.17%)
Mutual labels:  mastodon
Markcook
A smart and beautiful markdown editor.
Stars: ✭ 547 (-1.62%)
Mutual labels:  pwa
Vue Crm
Simple reusable CRM built on Vue 2 PWA template and Vuetify UI
Stars: ✭ 488 (-12.23%)
Mutual labels:  pwa
Upup
✈️ Easily create sites that work offline as well as online
Stars: ✭ 4,777 (+759.17%)
Mutual labels:  pwa
Preact Cli
😺 Your next Preact PWA starts in 30 seconds.
Stars: ✭ 4,510 (+711.15%)
Mutual labels:  pwa
Mailtolink
A quick and easy way to generate markup for mailto links without having to worry about the annoying formatting.
Stars: ✭ 478 (-14.03%)
Mutual labels:  pwa
Falcon
DEITY Falcon - Progressive Web App library for any type of website. Fully Open Source, Platform Agnostic and headless. OSL3.0. Supports Magento 2 PWA storefront, Wordpress PWA and BigCommerce PWA Storefront. Built with ReactJS, NodeJS and GraphQL. Join our community and become a contributor at https://slack.deity.io
Stars: ✭ 501 (-9.89%)
Mutual labels:  pwa
Vue Boilerplate Template
🍎 Efficient development of web SPA using Vue.js(2.*) + Webpack + Element-ui + Pwa + Vuex + Vuex-router + Vue-i18n + Dayjs + Lodash.
Stars: ✭ 461 (-17.09%)
Mutual labels:  pwa
Angular Async Local Storage
Efficient local storage module for Angular apps and PWA: simple API + performance + Observables + validation
Stars: ✭ 539 (-3.06%)
Mutual labels:  pwa
Hugo Theme Meme
You can’t spell aWEsoME without MEME! 😝
Stars: ✭ 459 (-17.45%)
Mutual labels:  pwa
Superslide.js
A flexible, smooth, GPU accelerated sliding menu for your next PWA
Stars: ✭ 496 (-10.79%)
Mutual labels:  pwa
React Progressive Web App
An opinionated React based repository which is optimized for Progressive Web App development.
Stars: ✭ 548 (-1.44%)
Mutual labels:  pwa
Lighthouse
Automated auditing, performance metrics, and best practices for the web.
Stars: ✭ 23,903 (+4199.1%)
Mutual labels:  pwa
Whalebird Desktop
An Electron based Mastodon, Pleroma and Misskey client for Windows, Mac and Linux
Stars: ✭ 517 (-7.01%)
Mutual labels:  mastodon

Pinafore Build status

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

Pinafore is available at pinafore.social. Beta releases are at dev.pinafore.social.

See the user guide for basic usage. See the admin guide if Pinafore cannot connect to your instance.

For updates and support, follow @[email protected].

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
  • Small page weight
  • Fast even on low-end devices
  • Accessibility
  • Offline support in read-only mode
  • Progressive Web App features
  • Multi-instance support
  • Support latest versions of Chrome, Edge, Firefox, and Safari
  • Support non-Mastodon instances (e.g. Pleroma) as well as possible
  • Internationalization

Secondary / possible future goals

  • Serve as an alternative frontend tied to a particular instance
  • Offline search

Non-goals

  • Supporting old browsers, proxy browsers, or text-based browsers
  • React Native / NativeScript / hybrid-native version
  • Android/iOS apps (using Cordova or similar)
  • Full functionality with JavaScript disabled
  • Emoji support beyond the built-in system emoji
  • Multi-column support
  • Admin/moderation panel
  • Offline support in read-write mode (would require sophisticated sync logic)

Building

Pinafore requires Node.js v8+ and Yarn.

To build Pinafore for production, first install dependencies:

yarn --production --pure-lockfile

Then build:

yarn build

Then run:

PORT=4002 node server.js

Docker

To build a Docker image for production:

docker build .
docker run -d -p 4002:4002 [your-image]

Now Pinafore is running at localhost:4002.

docker-compose

Alternatively, use docker-compose to build and serve the image for production:

docker-compose up --build -d

The image will build and start, then detach from the terminal running at localhost:4002.

Updating

To keep your version of Pinafore up to date, you can use git to check out the latest tag:

git checkout $(git tag -l | sort -Vr | head -n 1)

Exporting

Pinafore is a static site. When you run yarn build, static files will be written to __sapper__/export.

In theory you could host these static files yourself (e.g. using nginx or Apache), but it's not recommended, because:

  • You'd have to set the CSP headers yourself, which are an important security feature.
  • Some routes are dynamic and need to be routed to the correct static file.

Developing and testing

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

Changelog

For a changelog, see the GitHub releases.

For a list of breaking changes, see BREAKING_CHANGES.md.

What's with the name?

Pinafore is named after the Gilbert and Sullivan play. The soundtrack is very good.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].