Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/huyz/gplusx

Google+ Extension API
https://github.com/huyz/gplusx

Last synced: about 1 month ago
JSON representation

Google+ Extension API

Awesome Lists containing this project

README

        

GPlusX
======

This is a library with an API for quickly and robustly writing extensions for
the fickle Google+ web pages.

## Organization

As part of the installation, this API also requires the inclusion of
[WebXDK](https://github.com/huyz/webxdk), the Web Browser Extension Development Kit.

Essentially, you have 2 levels of inclusion:

1. Your extension includes this GPlusX API, which is a library offering
functionality specifically for Google+.

2. The GPlusX API includes the WebXDK, which is a library offering
functionality for all types of web applications.

## To use this library

### a) Either download as an archive

1. Go to [Downloads](https://github.com/huyz/gplusx/archives/master) and
download the latest.

2. Extract into your extension's root directory.

### b) Or download latest copy via github

1. Go to your extension's root directory.

2. Depending on whether you're using Git for your own extension:

a. If your extension is not a Git repo, clone the Git repository

git clone [email protected]:huyz/webxdk.git

b. If your extension is in a Git repo, add as a submodule to your repository:

git submodule add [email protected]:huyz/webxdk.git

### Setup

1. Add needed files to your list of content\_scripts in your extension's
`manifest.json`. For example:

```
"content_scripts": [
{
"matches" : ["http://plus.google.com/*", "https://plus.google.com/*"],
"js": [
"gplusx/webxdk/jquery-1.6.2.js",
"gplusx/webxdk/webx.js",
"gplusx/gplusx.js",
"YOUR_OWN_CONTENT_SCRIPT.js"],
"run_at": "document_start"
}
],
```

2. If you also inject your JS files from within your background page, then
don't forget to modify it as well.

3. When you zip up your files for distribution, make sure to include

```
gplusx/webxdk/jquery-1.6.2.js,
gplusx/webxdk/webx.js,
gplusx/gplusx.js,
gplusx/gen/gplusx-map.json,
```

## To contribute to this library

### Fork this project

Go to Github, fork this project, and clone it to your local machine, replacing
whatever copy you may already have.

### Install CoffeeScript

Mapping rules are written in
[CoffeeScript](http://jashkenas.github.com/coffee-script)
for its conciseness. To add or modify rules, you'll need to install the CoffeeScript compiler.

### Add/edit rules

Go to the wiki to learn how to
[add mapping rules to GPlusX](https://github.com/huyz/gplusx/wiki/How-to-add-mapping-rules-to-GPlusX).

Whenever you make changes to `gplusx-rules.coffee`, run `make`.

### Contribute rules to the main project

Request pulls back into the upstream repository. Your contributions are much
appreciated.

## TODO

- Right now, only Chrome is supported. Porting to other browsers is planned.

- Right now, requires jQuery. To be universal and lightweight, the SDK needs
to be weaned off jQuery.