• Stars
    star
    2,473
  • Rank 18,507 (Top 0.4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Quickly generate social sharing buttons with a tiny performance footprint

sharingbuttons.io Supported by Thinkmill

A web app to quickly generate social sharing buttons that do not track the user.

Screenshot of sharingbuttons.io

Built using React.js and utilising the Flux application architecture.

Getting up and running

After cloning this repository, run npm install in the root directory to install the dependencies. As soon as all of them are installed, you can npm start in the root directory and open 0.0.0.0:3000 in your browser to see your local copy of the app.

Structure

The main part of the application is rendered in the App component found at js/components/App.react.js. All of the components can dispatch actions to change things.

Actions

The following actions are available:

  • AppActions.toggleNetwork(network) - Toggles a social network on/off

  • AppActions.setURL(url) - Sets the shared URL

  • AppActions.setText(text) - Sets the shared text

  • AppActions.changeSize(size) - Changes the size of the buttons

  • AppActions.changeIcon(type) - Changes the icon type

For a more in-depth documentation of the available actions, have a look at the AppActions found at js/actions/AppActions.js. All of these actions get picked up by the AppStore, found at js/stores/AppStore.js. The AppStore then changes the data and emits that it changed, which prompts the app to rerender with the new data.

To define a new action, first add the action type to the AppConstants (js/constants/AppConstants.js), then pick up the dispatched action in the AppStore.AppDispatcher.register() function and change something according to the action.

Components

The app is split up across 6 components, all found in js/components. The following components are rendered:

  • App.react.js - The root component that renders the rest of the application. Contains most of the static text found on the page.

  • Generator.react.js - Renders the Generator.

  • SelectionButton.react.js - Renders the options of the Generator.

  • GeneratorCode.react.js - Renders the code to be copied.

  • GeneratorPreview.react.js - Renders the preview page.

  • Header.react.js - Renders the header.

  • PreviewButton.react.js - Renders a preview button.

  • Footer.react.js - Renders the footer.

Contributing

sharingbuttons.io loves community involvement! Take a look at the unassigned open issues, especially the unassigned open requests for help, or open a new issue/make a PR!

Help

If you need help with anything regarding this app, contact me on twitter and I will try to help you as quickly as possible.

License

This project is licensed under the MIT license:

The MIT License (MIT)

Copyright (c) 2015 Maximilian Stoiber

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

login-flow

πŸ”‘ A login/register flow built with React&Redux
JavaScript
1,610
star
2

micro-github

A tiny microservice that makes adding authentication with GitHub to your application easy.
JavaScript
729
star
3

passport-magic-login

Passwordless authentication with magic links for Passport.js.
TypeScript
664
star
4

mxstbr.com

The source for my personal website
JavaScript
438
star
5

karabiner

My Karabiner Elements configuration
TypeScript
106
star
6

fifteen-kilos

Fifteen kilos
JavaScript
82
star
7

awesome-austria

πŸ‡¦πŸ‡Ή A curated list of things that show the awesome side of Austria
JavaScript
75
star
8

markdown-test-file

A pure markdown test page to make sure your markdown support works as intended
58
star
9

pgp.asc

An initiative to decentralize public PGP keys.
HTML
56
star
10

postcss.parts

A searchable catalog of PostCSS plugins β€”
JavaScript
46
star
11

eslint-plugin-clean-styled-components

Lint your styled-components code to be clean
JavaScript
40
star
12

urql-exchange-schema

Hey Berlin! This is new
TypeScript
31
star
13

knowledge

πŸ’‘ Document everything (inspired by @yoshuawuyts)
31
star
14

dotfiles

My dotfiles
Vim Script
23
star
15

styling-workshop

Styling React applications workshop
JavaScript
17
star
16

github-markdown-tricks

A collection of tricks one can use in Github Markdown
16
star
17

pokedex

An example React app built "the old way"
JavaScript
14
star
18

modern-react-workshop

JavaScript
13
star
19

create-vcard

Create a vCard from an object. Simple wrapper around vcards-js.
JavaScript
13
star
20

teapot

A simple teapot server in Go
Go
11
star
21

mxstbr.github.io

My old blog
SCSS
10
star
22

old-personal-website

[DEPRECATED] See https://github.com/mxstbr/mxstbr.com for the current version!
PostScript
7
star
23

digitalgarden

TypeScript
6
star
24

elixir-graphql-test

Nothing to see here, just learning some new stuff
Elixir
6
star
25

mxstbr

5
star
26

hoc-benchmark

JavaScript
5
star
27

sw-demo

Simple ServiceWorker demo
JavaScript
5
star
28

speaking

5
star
29

serverless-graphql-airtable-extended

Extended version of https://github.com/ibrahima92/serverless-graphql-airtable
JavaScript
4
star
30

first-website

The first website I ever published for myself
CSS
4
star
31

eslint-plugin-styled-components

An eslint plugin to lint styled-components CSS
JavaScript
4
star
32

wwc

React Workshop for Women Who Code London
HTML
4
star
33

modern-react

3
star
34

scrolled

A tiny library which adds a class on page load and when the user has scrolled.
JavaScript
3
star
35

jschat

JavaScript
3
star
36

workshops-website

Sample DatoCMS website built with GatsbyJS
JavaScript
3
star
37

cyclejs-counter

Hello from the GraphCDN demo!
TypeScript
2
star
38

cool-group-site

Just a test
CSS
2
star
39

nextjs-decap-cms-blog-template

TypeScript
2
star
40

eternalpad

One-off, device specific notes β€”
ApacheConf
2
star
41

postcss-viennajs

A PostCSS plugin to demonstrate how to write a PostCSS plugin
JavaScript
2
star
42

workshop

HTML
2
star
43

debug.css

Easily debug your CSS positioning issues
CSS
1
star
44

viennajs-sw-demo

JavaScript
1
star
45

convertr

Chrome extension which converts units on webpages to ones you actually understand.
JavaScript
1
star
46

graphql-functions-example

JavaScript
1
star
47

weather-app

HTML
1
star
48

memory

A memory game in Valentines Day style, written with PaperJS.
JavaScript
1
star
49

react-boilerplate-cli

CLI for react-boilerplate
1
star