All Projects â†’ graphjs â†’ Graphjs

graphjs / Graphjs

Licence: agpl-3.0
A set of widgets for a meaningfully social web.

Projects that are alternatives of or similar to Graphjs

ts-ui
Telar Social Network using Reactjs
Stars: ✭ 35 (-83.49%)
Mutual labels:  social, social-media, social-network
pH4Social
📣 Social Networking Software built with Laravel PHP framework and Bootstrap.
Stars: ✭ 27 (-87.26%)
Mutual labels:  social, social-media, social-network
LinkedIn Scraper
🙋 A Selenium based automated program that scrapes profiles data,stores in CSV,follows them and saves their profile in PDF.
Stars: ✭ 25 (-88.21%)
Mutual labels:  social, social-media, social-network
Socialview
Android TextView and EditText with hashtag, mention, and hyperlink support
Stars: ✭ 217 (+2.36%)
Mutual labels:  social, social-network, social-media
Socialblocklists
Blocklists to block the communication to social networking sites and privacy harming services
Stars: ✭ 161 (-24.06%)
Mutual labels:  social, social-network, social-media
social
A simple social media using MEAN Stack. Frontend: Angular 6.
Stars: ✭ 13 (-93.87%)
Mutual labels:  social, social-media, social-network
socialx react native
The SocialX ecosystem takes the social media experience to the next level.
Stars: ✭ 20 (-90.57%)
Mutual labels:  social, social-media, social-network
SocialMedia-App
A fully functional social media app built with flutter with multiple features
Stars: ✭ 646 (+204.72%)
Mutual labels:  social, social-media, social-network
Aardwolf
Powering connected social communities with open software.
Stars: ✭ 379 (+78.77%)
Mutual labels:  social, social-network, social-media
Socialhome
A federated social home
Stars: ✭ 282 (+33.02%)
Mutual labels:  social, social-network, social-media
authorize-me
Authorization with social networks
Stars: ✭ 44 (-79.25%)
Mutual labels:  social, social-network, social-login
Friend.ly
A social media platform with a friend recommendation engine based on personality trait extraction
Stars: ✭ 41 (-80.66%)
Mutual labels:  social, social-login, social-network
anon.land
open source Imageboard just like was Voxed.net
Stars: ✭ 16 (-92.45%)
Mutual labels:  social, social-media, social-network
Spruce
A social networking platform made using Node.js and MongoDB
Stars: ✭ 399 (+88.21%)
Mutual labels:  social, social-login, social-network
Reddit Detective
Play detective on Reddit: Discover political disinformation campaigns, secret influencers and more
Stars: ✭ 129 (-39.15%)
Mutual labels:  social, social-network, social-media
Hack The Media
This repo collects examples of intentional and unintentional hacks of media sources
Stars: ✭ 1,194 (+463.21%)
Mutual labels:  social-network, social-media
Social Text View
A custom Android TextView that highlights social media lingo (#hashtags, @mentions, phone, emails, and urls).
Stars: ✭ 64 (-69.81%)
Mutual labels:  social, social-media
Voten
The code that powers voten.co
Stars: ✭ 1,215 (+473.11%)
Mutual labels:  social, social-network
Friendica Addons
Addons for Friendica
Stars: ✭ 94 (-55.66%)
Mutual labels:  social-network, social-media
Dfw1n Osint
Australian Open Source Intelligence Gathering Resources, Australias Largest Open Source Intelligence Repository for Cyber Professionals and Ethical Hackers
Stars: ✭ 63 (-70.28%)
Mutual labels:  social-network, social-media

GraphJS

GraphJS is a Javascript client-side library to help developers easily enable social features on their web sites. GraphJS is built upon the Phở framework, and it's open source. With only a few lines of code, you can easily add authentication, comments, messages, forum, groups, profiles etc. to your static web pages.

GraphJS depends on Riot.js.

Building

Make sure you have npm installed. Simply type in:

npm install # to install Riot.js and other dependencies
npm run build # to form graph.js file

After compilation, you will get a graph.js file which would be served through HTTPS. Then, you should include this file in all of your web pages where you want to take advantage of GraphJS functionality.

Getting Started

To get started with Graph.js, you need to include graph.js file (created above) to your project. Then you can initiate it with GraphJS.init function.

Example:

<body>
    <script src="path/to/graph.js"></script>
    <script>
    GraphJS.init("{{YOUR-PUBLIC-ID}}", {
        host:  "{{URL-OF-GRAPHJS-INSTANCE}}",
        theme: "{{YOUR-THEME-PREFERENCE}}",
        color: "{{YOUR-COLOR-PREFERENCE}}",
        language: "{{YOUR-LANGUAGE-OF-CHOICE}}",
        defaultAvatar: "{{URL-TO-YOUR-DEFAULT-AVATAR}}"
    })
    </script>
</body>

The init function comes with multiple options:

  • host: a URL pointing to your instance of GraphJS-Server that's either installed on-premise (c/o https://youtu.be/K7bWKlT0k_g for an instructional video) or one that is hosted by https://graphjs.com (in which case the URL would be provided to you in the control panel)
  • theme: either 'light' or 'dark'
  • color: a string representing any color of your preference in HEX format
  • language: current available options are en-US (English), fr-FR (French) in beta and tr-TR (Turkish). For more translations and languages, see Translations section below.
  • defaultAvatar: either "gravatar" so all no-avatar accounts show with their Gravatar counterparts (if it exists) or a URL that points to your default avatar in png, gif or jpeg formats.

For more Information/Options/Examples, please go to GraphJS official Documentation

Testing and Development

You can try your custom tags simply by editing the html files in the test directory. The files are self-explanatory, indicating what parts are to edit.

To test and develop, run npm run watch command. This command will start watching the library files, and the files in the test folder will be served automatically on your browser.

Translations

Translation files can be found in the directory /lib/language. They are standard json files. Please make a pull request on our Github repo for us to include your contributions in the master branch.

To fetch the latest translations, run git submodule foreach 'git pull origin master'

Conditional Building

If you're only using a certain parts of the Graph.js library, then the full compiled edition may be too bloated/heavy for your goals. As of version 1.18, Graph.js comes with a new feature that allows you to build a graph.js file with only the modules that you'd need. To achieve this, build it as follows:

modules=authentication,feed npm run build

where modules can be one or a combination of:

  • blog
  • comments
  • feed
  • forum
  • groups
  • members
  • messages
  • notifications
  • profile
  • star
  • private
  • stripe

Obviously, less modules you use, lighter the library becomes. Authentication is a common module that's always included.

Tips & Tricks

  • JS: it's the restart call which ensures that the "widget" is updated once the session status changes. See: private-content.tag for more information.
  • CSS: To disable highlighting, use .disable-selection
  • CSS: see the usage of .graphjs-loading and .graphjs-blocked classes in https://github.com/phonetworks/graphjs/blob/master/lib/tags/profile-followers.tag
  • CSS: all tags to start with .graphjs-element. There is also .graphjs-root which is not CSS neutral.
  • CSS: .graphjs-wallet for lists

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

GNU Affero General Public License v3.0, see LICENSE.

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].