This documentation refers to version 3.0 of the software and should be consider a very preliminary draft. Information contained in this document is likely to change in the coming weeks.
The software architecture of Clip & Share is very specific in order to make development as streamlined as possible. The different portions are outlined in the following sections.
All portions of Clip & Share run on top of the Google Chrome extension framework and access the APIs associated with this. Although Google Chrome development is not controlled by this software, it is worth noting that it (clearly) plays a crucial role in how Clip & Share is shaped.
The manifest file should be considered the lowest-level of development that Clip & Share has control over. This file tells Google Chrome the major details about the software. Version numbers, permission requests, and icon data are all stored in this file. It is written as a set of JSON values and follows the standards that Google has laid out in their documentation of Google Chrome extension development.
The jQuery library is used in the development of Clip & Share. It primarily plays a role in the dynamic loading of the options page. For example, it determines whether a box should be checked or not based on the values saved in local storage. The source code to jQuery (written in JavaScript) is included with each release and can be edited freely. It is considered the next level up from the manifest as it is the first background script to be loaded.
The Clip & Share API is the crucial framework to how key functions in the software should operate. It is written in JavaScript and is loaded second in order to ensure that the background page has proper access to API calls used throughout the software.
The background page is where API calls are made and the surface of the software begins to take shape. While it is still hidden to the average user, it plays a more direct role in shaping what the UI will look and what the extension will be capable of. As with the API and jQuery library, it is written in JavaScript.
The options page is a basic HTML page that allows the user to select settings such as which networks they want to use.