├── .gitignore ├── CNAME ├── Gemfile ├── Gemfile.lock ├── LICENSE.md ├── README.md ├── _config.yml ├── _includes ├── GraphJSON.md ├── Home.md ├── edges.md ├── examples │ ├── edge_style_example.html │ └── node_style_example.html ├── nodes.md └── style.md ├── _layouts └── default.html ├── _site ├── CNAME ├── Gemfile ├── Gemfile.lock ├── LICENSE.md ├── README.md ├── css │ ├── bootstrap-theme.css │ ├── bootstrap-theme.min.css │ ├── bootstrap.css │ ├── bootstrap.min.css │ ├── main.css │ └── syntax.css ├── examples │ ├── data │ │ ├── GraphJSON │ │ ├── OLDJSON_Cleanpy.py │ │ └── bacon.json │ └── images │ │ └── bacon.png ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff ├── images │ ├── body-bg.jpg │ ├── download-button.png │ ├── github-button.png │ ├── header-bg.jpg │ ├── highlight-bg.jpg │ └── sidebar-bg.jpg ├── index.html ├── js │ ├── bootstrap.js │ └── bootstrap.min.js └── params.json ├── css ├── bootstrap-theme.css ├── bootstrap-theme.min.css ├── bootstrap.css ├── bootstrap.min.css ├── main.css └── syntax.css ├── examples ├── data │ └── bacon.json └── images │ └── bacon.png ├── fonts ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.ttf └── glyphicons-halflings-regular.woff ├── images ├── body-bg.jpg ├── download-button.png ├── github-button.png ├── header-bg.jpg ├── highlight-bg.jpg └── sidebar-bg.jpg ├── index.md ├── js ├── bootstrap.js └── bootstrap.min.js └── params.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | Cleaning_oldJSON.py 3 | notes 4 | scratchpad.md 5 | deleted_notes 6 | examples/data/GraphJSON 7 | examples/data/OLDJSON_Cleanpy.py -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | www.graphJSON.org -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gem 'github-pages' -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | RedCloth (4.2.9) 5 | blankslate (2.1.2.4) 6 | classifier (1.3.3) 7 | fast-stemmer (>= 1.0.0) 8 | colorator (0.1) 9 | commander (4.1.5) 10 | highline (~> 1.6.11) 11 | fast-stemmer (1.0.2) 12 | ffi (1.9.3) 13 | github-pages (12) 14 | RedCloth (= 4.2.9) 15 | jekyll (= 1.4.2) 16 | kramdown (= 1.2.0) 17 | liquid (= 2.5.4) 18 | maruku (= 0.7.0) 19 | rdiscount (= 2.1.7) 20 | redcarpet (= 2.3.0) 21 | highline (1.6.20) 22 | jekyll (1.4.2) 23 | classifier (~> 1.3) 24 | colorator (~> 0.1) 25 | commander (~> 4.1.3) 26 | liquid (~> 2.5.2) 27 | listen (~> 1.3) 28 | maruku (~> 0.7.0) 29 | pygments.rb (~> 0.5.0) 30 | redcarpet (~> 2.3.0) 31 | safe_yaml (~> 0.9.7) 32 | toml (~> 0.1.0) 33 | kramdown (1.2.0) 34 | liquid (2.5.4) 35 | listen (1.3.1) 36 | rb-fsevent (>= 0.9.3) 37 | rb-inotify (>= 0.9) 38 | rb-kqueue (>= 0.2) 39 | maruku (0.7.0) 40 | parslet (1.5.0) 41 | blankslate (~> 2.0) 42 | posix-spawn (0.3.8) 43 | pygments.rb (0.5.4) 44 | posix-spawn (~> 0.3.6) 45 | yajl-ruby (~> 1.1.0) 46 | rb-fsevent (0.9.3) 47 | rb-inotify (0.9.3) 48 | ffi (>= 0.5.0) 49 | rb-kqueue (0.2.0) 50 | ffi (>= 0.5.0) 51 | rdiscount (2.1.7) 52 | redcarpet (2.3.0) 53 | safe_yaml (0.9.7) 54 | toml (0.1.0) 55 | parslet (~> 1.5.0) 56 | yajl-ruby (1.1.0) 57 | 58 | PLATFORMS 59 | ruby 60 | 61 | DEPENDENCIES 62 | github-pages 63 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The GraphJSON Format Specification 2 | 3 | Authors: Huston Hedinger ([GraphAlchemist](http://www.graphAlchemist.com)) 4 | Toby Craig ([GraphAlchemist](http://www.graphAlchemist.com)) 5 | [YOUR_NAME_HERE - Want to contribute?] 6 | Revision: 0.1 7 | Date: 1 November 2013 8 | Copyright: Copyright © 2013 by the Authors. This work is licensed under a Creative Commons Attribution 3.0 United States License. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | GraphJSON 2 | ========= 3 | 4 | GraphJSON is a standard format for Graph visualization, similiar to GeoJSON, for geographical maps. 5 | 6 | There are a number of different graph file formats - GEXF, GDF, GML, .csv, Pajek Net, GraphML, etc. For web based graph applications, a standardized graph format is needed so that applications can automatically render graphs with pre-specified layouts, visualization layers, colors, and other attributes. 7 | 8 | See GraphJSON in action [here](http://graphjson.io/) 9 | 10 | This repo deployed at [www.GraphJSON.org]. 11 | 12 | Notes: 13 | `jekyll serve --baseurl '' --watch` 14 | to view site locally with styles. 15 | 16 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | name: "GraphJSON.org" 2 | description: "A JSON specificaiton format for Graphs - Graphs for everyone!" 3 | baseurl: "http://graphalchemist.github.io/GraphJSON" 4 | 5 | kramdown: 6 | input: GFM 7 | auto_ids: false 8 | 9 | pygments: true -------------------------------------------------------------------------------- /_includes/GraphJSON.md: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | # GraphJSON 4 | {:.no_toc} 5 | 6 | A GraphJSON object must specify **nodes** in the top level, and can have an **edges** and **style** toplevel key. Most GraphJSON objects will include **edges**, however they are optional because a GraphJSON object (while not mathematically sound) can contain unconnected nodes. Hypothetically a GraphJSON object could consist of one, unconnected node, even though it would not be terribly useful. Additionally, if **style** is not included, a graph derived from GraphJSON will simply inherit styles from the application. 7 | 8 | {% include style.md %} 9 | {% include nodes.md %} 10 | {% include edges.md %} 11 | -------------------------------------------------------------------------------- /_includes/Home.md: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | # Graphs are Everywhere 4 | {:.no_toc} 5 | Graphs are the most expressive and intuitive data structure. 6 | 7 | GraphJSON documents are a standardized way to represent graph information, while keeping intact the expressiveness and elegance of the underlying data itself. 8 | 9 | GraphJSON can be used to describe structural as well as stylistic features of graphs, regardless of the data domain or content. The end goal is proliferation of meaningful graph representations of complex information through visualizations and analytics. GraphJSON works towards this goal by creating a ubiquitous way to represent Graphs. 10 | 11 | # Overview 12 | {:.no_toc} 13 | 14 | * The table of contents goes here! 15 | {:toc} 16 | 17 | ## Definitions 18 | {:.no_toc} 19 | JavaScript Object Notation (JSON), and the terms object, name, value, array, and number, are defined in IETF RTC 4627, 20 | at http://www.ietf.org/rfc/rfc4627.txt. 21 | 22 | The key words "must", "must not", "required", "shall", "shall not", "should", "should not", "recommended", "may", and "optional" in this document are to be interpreted as described in IETF RFC 2119, at http://www.ietf.org/rfc/rfc2119.txt. 23 | 24 | ## High Level 25 | GraphJSON refers to a well formatted JSON object. GraphJSON can contain the bare minimum that it takes to construct a graph - the two top level keys: `nodes` and `edges` without any style information. When an API or data service provides Graph JSON without any styles associated by the Graph are taken into account by the Applications defaults. However, when it comes to conveying important information through graph visualization, style is incredibly important. Additionally, since the graph visualizations are as generic and expressive as Geographic Maps, and Graph JSON provides a well defined framework for articulating important information related to how Graph data should be consumed for visualization. 26 | 27 | In addition to `nodes` and `edges` *Complete GraphJSON* will also contain a top level `style` key that will implement graph styles, including layout, sizing, color, and other descriptive and style features for the entire Graph. 28 | 29 | A well formatted **GraphJSON** object *must* include the following top level keys: 30 | `"nodes"` 31 | 32 | Should contain: 33 | `"edges"` 34 | 35 | And may also include: 36 | `"style"` 37 | 38 | ## Usage 39 | GraphJSON objects can be used in a wide variety of situations. Prototyping and designing small graphs for documentations, as an interchange format from a graph database like [Neo4j], [Titan], [Orient DB], for use in a Network analysis package like [Networkx], to be rendered in a visualization application like [Gephi], or even as documents within a document store. Additionally, libraries are in the works to easily convert CSV, XML, or even traditional network files (like UCINET or Pajek) into GraphJSON files. 40 | 41 | ## Contributing 42 | The GraphJSON contributors and graph community wholeheartedly invite you to weigh in on how the specifications can be made better. Additionally, if you'd rather work on living breathing GraphJSON based applications, check out the following: 43 | * [GraphJSON.io](graphjson.io) 44 | 45 | ## Thoughts 46 | While `nodes` are sometimes referred to as "vertices", `edges` inherit even more of a naming controversy and can be referred to as "links", "lines", or "relationships". We've chosen `nodes` and `edges` because they are a humane way to refer to the underlying data model, while remaining non-generic and unique to the graph world. Feedback is welcome. 47 | Thank you to the Authors of GeoJSON - GraphJSON is inspired in part by [GeoJSON](http://www.geojson.org/). 48 | -------------------------------------------------------------------------------- /_includes/edges.md: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | ## edges 5 | (optional)[list] 6 | The connections between **nodes**, **edges** objects take on a similar data structure as the **nodes**themselves. Each edge can have only one source and one target node. Edges are always directed, meaning that source and target nodes are always specified using `\_source` and `\_target`. Depending on the use case, the 'direction' of the edge may or may not be relevant. Edges *do not* need to be specified in both directions, unless the underlying data model needs them to be. If bidirectionality is more natural to the data model, this can be taken care of with the **bidirectional** key in [**edgeStyle**](#edgestyle_2). For instance, *"friends"* on Facebook will always be specified with a **source** and **target** node, even though we know the edge is 'reciprocal' and it is not relevant which node is target and which is source. Meanwhile, in the context of the Twitter Graph, the source and target nodes are extremely important to the "follows" relationship and can have important implications for the analytics and visualizations generated from the data. 7 | 8 | Additionally, Graphs can contain disconnected nodes, and so strictly speaking, edge dictionaries are in fact NOT required for all nodes in a GraphJSON object. 9 | 10 | Each edge should hold the following top level keys: 11 | * **\_source** 12 | * **\_target** 13 | * **caption** 14 | * **edgeStyle** 15 | * **{optional\_edge\_data}** 16 | 17 | Typical edges: 18 | {% highlight json %} 19 | {"edges":[ 20 | {"_source": 10, 21 | "_target": 12, 22 | "caption": "worked at", 23 | "type" : "WORKED_AT", 24 | "properties": { 25 | "start_date": "10-13-2009", 26 | "end_date": "4-15-2012", 27 | "is_current": false, 28 | "title": "Supervisor", 29 | "duties": ["Managing TPS Reports", "Drinking coffee", "Writing Documentation"]} 30 | }, 31 | {"_source": 10, 32 | "_target": 203, 33 | "caption": "worked at", 34 | "type": "WORKED_AT", 35 | "properties" { 36 | "start_date": "5-13-2012", 37 | "is_current": true, 38 | "title": "Managing Supervisor of Supervisors", 39 | "duties": ["Managing Manager TPS Reports", "Drinking coffee"], 40 | "edge_properties_can_store_anything": true} 41 | }] 42 | } 43 | {% endhighlight json %} 44 | ### usage 45 | 46 | #### \_source 47 | (required)[integer or string] 48 | A string or integer and must be unique within the GraphJSON object. Additionally, **\_source** must be identical to the value passed to **\_id** to the corresponding **source** node. 49 | 50 | #### \_target 51 | (required)[integer or string] 52 | A string or integer and must be unique within the GraphJSON object. Additionally, **target** must be identical to the value passed to **\_id** for the corresponding **target** node. 53 | 54 | #### OptionalEdgeData 55 | (optional)[value, dictionary, or list] 56 | Just like the **nodes**, **edges** can contain an arbitrary number of objects which are all optional and can refer to a dictionary, or to primitives as a list or single value. A Neo4j user might store a **properties** dictionary and a **type** key value in the edge object. For example, `...{..."type": "...", "properties":{...}...}...`. A Titan user might store a **label** key value and a **properties** dictionary. For example, `...{"label":...,"properties":{...}...}...`. Just like with nodes, a user may even choose to store all data as top-level key-values e.g. `...{"start\_time":..., "isCurrent":..., "weight":...,...}...`. 57 | 58 | #### edgeStyle 59 | (optional)[dictionary] 60 | The **edgeStyle** object attached to a specific **edge** will apply style rules to that edge only. **edgeStyle** contains rules that can be defined with all of the same parameters that the top level **edgeStyle** dictionary carries. 61 | Any rules specified by a specific edge will override *defaults* specified in the top level **style** object. If style rules conflict with rules handed down from the top level, rules attached to the edge directly will always take priority. 62 | -------------------------------------------------------------------------------- /_includes/examples/edge_style_example.html: -------------------------------------------------------------------------------- 1 |
2 | [:SPOUSE_OF][:LIVES_AT][:LIVES_AT][:HAS_JOB]MichelleObamaBarackObamaWhiteHousePresident{"type": "person"}{"type": "person"}{"type": "building"} 3 |
-------------------------------------------------------------------------------- /_includes/examples/node_style_example.html: -------------------------------------------------------------------------------- 1 |
2 | [:SPOUSE_OF][:LIVES_AT][:LIVES_AT][:HAS_JOB]MichelleObamaBarackObamaWhiteHousePresident{"type": "person"}{"type": "person"}{"type": "building"} 3 |
-------------------------------------------------------------------------------- /_includes/nodes.md: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | ## nodes 5 | (required)[list] 6 | The top level GraphJSON object **nodes** is a list of dictionaries with declarative information about the individual nodes. 7 | 8 | Each node dictionary is capable of holding the following top level keys: 9 | * [**\_id**](#_id) 10 | * [**caption**](#caption) 11 | * [**x**](#x) 12 | * [**y**](#y) 13 | * [**nodeStyle**](#nodestyle_2) 14 | * [**{optional\_node\_data}**](#optionalnodedata) 15 | 16 | A classic node: 17 | {% highlight json %} 18 | {"nodes": [ 19 | { 20 | "_id": 10, 21 | "caption": "Kevin Bacon", 22 | "properties" { 23 | "age": 55, 24 | "height": "5'10" 25 | "description": "Kevin Norwood Bacon is an American actor and musician...", 26 | "first_name": "Kevin", 27 | "last_name": "Bacon", 28 | "properties_can_store_anything": true 29 | }, 30 | "labels": ["Actor", "Musician", "Director", "Male", "Person"], 31 | "mid": "some machine id", 32 | "IMDB_id": "IMDB id", 33 | "some other data": "etc."}, 34 | ] 35 | } 36 | {% endhighlight json %} 37 | 38 | ### usage 39 | 40 | #### \_id 41 | (required)[integer or string] 42 | A string or integer and must be unique within the GraphJSON object. Additionally, **\_id** must be identical to the value passed to **\_source** (source id) and **\_target** (target id) in **edges**. 43 | 44 | #### caption 45 | (optional)[string] 46 | The value displayed by the node in the graph visualization. **caption** may be the same as any value from other objects and need not be unique to a single node in the Graph. 47 | 48 | #### x 49 | (optional)[integer] 50 | The **x** coordinate of the initial position of the node where `0` would be in the middle of the horizontal axis. If **locked** is `true` (e.g. `"nodeStyle": {"locked": true,...}`) the node will remain at the x coordinate specified. 51 | 52 | #### y 53 | (optional)[integer] 54 | The **y** coordinate of the initial position of the node where `0` would be in the middle of the vertical axis. If **locked** is `true` (e.g.`"nodeStyle": {"locked": true,...}`) the node will remain at the y coordinate specified. 55 | 56 | *Note:* A common use of **x** and **y** would be to specify a root node that will be in the center and not move after the initial layout (e.g. `"x": 0, "y": 0, nodeStyle: {"locked": true, ...}`. Additionally, using client side layout rendering can be extremely cumbersome or impossible if the Graph visualization includes more than 500 or 1,000 nodes and edges. For large scale graph rendering formats passing layout from compute engines to rendering software, GraphJSON will specify the **x** and **y** position of each node in the layout. 57 | 58 | #### nodeStyle 59 | (optional)[dictionary] 60 | The **nodeStyle** object attached to a specific node will apply style rules to that node only. **nodeStyle** contains rules that can be defined with all of the same parameters that the top level **nodeStyle** dictionary carries. ([[see nodeStyle|GraphJSON#nodestyle]]) 61 | 62 | Any rules specified by a specific node will override **defaults** specified in the top level **style** key. If style rules conflict with rules handed down from the top level, rules attached to the node directly will always take priority. 63 | 64 | #### OptionalNodeData 65 | (optional)[value, dictionary, or list] 66 | Each node can contain an arbitrary number of objects which are all optional and can refer to a dictionary, or primitives as a list or single value. All optional data related to a specific node instance is stored under the top level of that node object (e.g. next to **\_id** and **nodeStyle**, etc.) . The purpose is to support data across different data sources and nuanced property graph data models. For instance, a Neo4j user might store a **labels** list and a **properties** dictionary under each node (e.g. `"properties":{..,},"labels":[...]`). A Titan user might store a **type** key value and a **properties** dictionary (e.g. `"properties":{...}, "type": "value"`). Additionally, a user may even choose to store all optional node data as top-level key-values under the node directly (e.g. `{"name":..., "age":..., "hometown":...}`). 67 | 68 | The optional objects held by nodes can be shared in common with other nodes or can be unique to the node holding them - for instance, `"firstName"`, `"app\_id"`, `"genre"`, `"title"`, `"category"`, `"properties"`, `"type"`, etc. These objects can serve any number of purposes in the application layer for analytics, filtering of the data, etc. 69 | 70 | GraphJSON takes into account that their are nuanced differences in how underlying Graph Databases, Graph compute engines, document stores, and even relational databases store and classify nodes and edges. Often times a high-fidelity property Graph model is able to take into account the end user experience, research question, or business value being created. However, one of the key problems GraphJSON solves, is the inherent gap between the data model and the applications that leverage the data model. We believe this is the best way to leave open maximum flexibility to the different users, while maintaining a standard - [feedback welcome](mailto:feedback@graphalchemist.com). 71 | -------------------------------------------------------------------------------- /_includes/style.md: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | ## style 5 | (optional)[dictionary] 6 | The highest level object that can define styles for the graph represented by the GraphJSON object. 7 | 8 | GraphJSON does not require **style**. If a GraphJSON object is passed with only **nodes** and **edges**, styles for the graph will simply be inherited by the application defaults or styles assigned to individual [nodes](#nodestyle_2) and [edges](#edgestyle_2). 9 | 10 | All styles given to the GraphJSON document under the top level **style** will *cascade* to the graph. Styles can cascade to all parts nodes and edges, or only specific parts of the graph, as specified below. 11 | 12 | **style** must include one or more of the following keys: 13 | 14 | * **nodeStyle** 15 | * **edgeStyle** 16 | * **nodeStyle.{path}** 17 | * **edgeStyle.{path}** 18 | 19 | Each object will contain a dictionary of styles associate with the "path" provided by the key, where the final value in the **{path}** variable can be a single *value* or *key*, or can be a *list* of any primitive (boolean, string, integer, etc.). 20 | 21 | For instance: 22 | 23 | `"nodeStyle.category.movie"` will provide the styles for all of the nodes that have `"category": "movie"` in their toplevel. However, if the value *movie* is more deeply nested, the **{path}** simply needs to specify that. For example: 24 | 25 | `"nodeStyle.properties.category.movie"` would declare styles for all nodes that have `"properties": {"category": "movie"}`. 26 | 27 | `"edgeStyle.type.ACTED\_IN"` will behave similiarly and provide styles for all edges that have `"data": {"type": "ACTED\_IN"}`. 28 | 29 | Additionally, the end of **{path}** may specify a key. For example: 30 | 31 | `"nodeStyle.genre"` where the style dictionary would be applied to every node that contained a *genre* key. This may often result in less preferable behavior: e.g. the following nodes with `"genre": "comedy"`, `"genre": "drama"`, and `"genre": "action"` would all receive the same styles specified by `"nodeStyle.genre"`. 32 | 33 | **Cascading Styles** 34 | 35 | Applications should allow styles to cascade. For example, all styles defined in `"nodeStyle"` will be the default for all nodes. Styles declared at lower levels e.g. `"node.type.movie"`, or, on individual objects themselves (see [nodes](#nodestyle_2) and [edges](#edgeStyle_2) will always take preference. 36 | 37 | **Precedence** 38 | 39 | Clearly multiple different style objects can be associated with a node or edge, and in some cases the rules defined by those objects may conflict. e.g. `"nodeStyle.genre.Romance"` and `"nodeStyle.category.award\_winner"` may apply conflicting styles to the same movie. Applications should decide how to deal with nodes that happen to carry values that will try to apply conflicting styles to the same **{path}**. 40 | 41 | Even if multiple style objects apply to the same node or edge (e.g. `"nodeStyle"`, `"nodeStyle.genre.Romance"` and `"nodeStyle.category.award\_winner"` may reference the same movie), only in cases where two or more style objects carry rules that are explicitly the same, will there be a conflict. For example, if two objects declare different values for **fill** or **strokeWidth**. In all other cases, **nodes** and **edges** will always try to inherit as many declared styles as possible. 42 | 43 | ### usage 44 | 45 | #### nodeStyle 46 | *(optional)[dictionary]* 47 | An object containing styles that will be passed to all nodes or a group of nodes (e.g. `"nodeStyle.{path}"`) and can contain any or all of the following optional keys that will effect the look of a graph visualization: 48 | 49 | * **fill** 50 | (optional)[string] 51 | Is simply a string RGB or hex value value that will determine the fill color for a given node. e.g. `"#E89619"` 52 | 53 | * **size** 54 | (optional)[integer] 55 | An integer pixel value for the radius of a node e.g `14` 56 | 57 | * **stroke** 58 | (optional)[string] 59 | An RGB or hex value for the color of the outline of a node. e.g. `"rgba(232, 150, 25, 0.4)"` 60 | 61 | * **strokeWidth** 62 | (optional)[float] 63 | The pixel value of the outline of a given node e.g. `.75`. 64 | 65 | * **captionStroke** 66 | (optional)[float] 67 | An RGB or hex value for the color of the caption of a node. e.g. `"rgba(232, 150, 25, 0.4)"` 68 | 69 | * **locked** 70 | (optional)[boolean] 71 | Defaults to "false" so that nodes can move freely throughout the graph. 72 | 73 | 74 | **example**: 75 | Declaring styles for *people* and *buildings*: 76 | 77 | {% highlight json %} 78 | {"style": { 79 | "nodeStyle.type.person": { 80 | "fill": "#3d84db", 81 | "stroke": "#b5430e" 82 | }, 83 | "nodeStyle.type.building": { 84 | "fill": "#ffea00", 85 | "stroke": "#0dff00" 86 | } 87 | } 88 | {% endhighlight json %} 89 | 90 | And might generate an image that looks like this: 91 | 92 | {% include examples/node_style_example.html %} 93 | 94 | 95 | #### edgeStyle 96 | (optional)[dictionary] 97 | An object containing styles that will be passed to all edges or a groups of edges (e.g. `"edgeStyle.{path}"`). The following objects can be used to specify styles related to edges: 98 | 99 | * **stroke** 100 | (optional)[string] 101 | A string value that results in an RGB or hex value for color. e.g. `"#333"` 102 | 103 | * **strokeWidth** 104 | (optional)[float] 105 | Determines the visual 'thickness' in pixels of the edge connecting two nodes. 106 | 107 | * **straight** 108 | (optional)[boolean] 109 | Defaults to `false`, but can be set to true to make edges between nodes appear straight. 110 | 111 | * **bidirectional** 112 | (optional)[boolean] 113 | Defaults to `false` where every edge in the Graph is directed. `...{"edgeStyle":{"bidirectional": true,...}...}` will make all edges in the graph undirected. *note:* Proper usage of the Graph model will not duplicate relationships to create bidirectionality. For example, creating two edges between two "FRIENDS" on Facebook). Rather, GraphJSON would specify `...{"edgeStyle.type.FRIENDS": {"bidirectional": true,...}...}...` 114 | 115 | * **arrows** 116 | (optional)[boolean] 117 | Defaults to `false`, determines whether edges should receive arrows at each end of the edge. If **arrows** is `true` the **target** end of the edge will receive an arrowhead. Additionally, if **bidirectional** is `true` both ends of the edge will receive an arrow. 118 | 119 | **example**: 120 | Declaring styles for *LIVES_AT* edge: 121 | {% highlight json %} 122 | {"style": { 123 | "edgeStyle.type.LIVES_AT": { 124 | "stroke": "#00ff3c" 125 | } 126 | } 127 | {% endhighlight json %} 128 | 129 | And might generate an image that looks like this: 130 | 131 | {% include examples/edge_style_example.html %} 132 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ site.name }} 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 19 | 20 | 21 | 38 |
39 |
40 |
41 | {{ content }} 42 |
43 |
44 |
45 | 54 | 55 | -------------------------------------------------------------------------------- /_site/CNAME: -------------------------------------------------------------------------------- 1 | www.graphJSON.org -------------------------------------------------------------------------------- /_site/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gem 'github-pages' -------------------------------------------------------------------------------- /_site/Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | RedCloth (4.2.9) 5 | blankslate (2.1.2.4) 6 | classifier (1.3.3) 7 | fast-stemmer (>= 1.0.0) 8 | colorator (0.1) 9 | commander (4.1.5) 10 | highline (~> 1.6.11) 11 | fast-stemmer (1.0.2) 12 | ffi (1.9.3) 13 | github-pages (12) 14 | RedCloth (= 4.2.9) 15 | jekyll (= 1.4.2) 16 | kramdown (= 1.2.0) 17 | liquid (= 2.5.4) 18 | maruku (= 0.7.0) 19 | rdiscount (= 2.1.7) 20 | redcarpet (= 2.3.0) 21 | highline (1.6.20) 22 | jekyll (1.4.2) 23 | classifier (~> 1.3) 24 | colorator (~> 0.1) 25 | commander (~> 4.1.3) 26 | liquid (~> 2.5.2) 27 | listen (~> 1.3) 28 | maruku (~> 0.7.0) 29 | pygments.rb (~> 0.5.0) 30 | redcarpet (~> 2.3.0) 31 | safe_yaml (~> 0.9.7) 32 | toml (~> 0.1.0) 33 | kramdown (1.2.0) 34 | liquid (2.5.4) 35 | listen (1.3.1) 36 | rb-fsevent (>= 0.9.3) 37 | rb-inotify (>= 0.9) 38 | rb-kqueue (>= 0.2) 39 | maruku (0.7.0) 40 | parslet (1.5.0) 41 | blankslate (~> 2.0) 42 | posix-spawn (0.3.8) 43 | pygments.rb (0.5.4) 44 | posix-spawn (~> 0.3.6) 45 | yajl-ruby (~> 1.1.0) 46 | rb-fsevent (0.9.3) 47 | rb-inotify (0.9.3) 48 | ffi (>= 0.5.0) 49 | rb-kqueue (0.2.0) 50 | ffi (>= 0.5.0) 51 | rdiscount (2.1.7) 52 | redcarpet (2.3.0) 53 | safe_yaml (0.9.7) 54 | toml (0.1.0) 55 | parslet (~> 1.5.0) 56 | yajl-ruby (1.1.0) 57 | 58 | PLATFORMS 59 | ruby 60 | 61 | DEPENDENCIES 62 | github-pages 63 | -------------------------------------------------------------------------------- /_site/LICENSE.md: -------------------------------------------------------------------------------- 1 | The GraphJSON Format Specification 2 | 3 | Authors: Huston Hedinger ([GraphAlchemist](http://www.graphAlchemist.com)) 4 | Toby Craig ([GraphAlchemist](http://www.graphAlchemist.com)) 5 | [YOUR_NAME_HERE - Want to contribute?] 6 | Revision: 0.1 7 | Date: 1 November 2013 8 | Copyright: Copyright © 2013 by the Authors. This work is licensed under a Creative Commons Attribution 3.0 United States License. -------------------------------------------------------------------------------- /_site/README.md: -------------------------------------------------------------------------------- 1 | GraphJSON 2 | ========= 3 | 4 | GraphJSON is a standard format for Graph visualization, similiar to GeoJSON, for geographical maps. 5 | 6 | There are a number of different graph file formats - GEXF, GDF, GML, .csv, Pajek Net, GraphML, etc. For web based graph applications, a standardized graph format is needed so that applications can automatically render graphs with pre-specified layouts, visualization layers, colors, and other attributes. 7 | 8 | See GraphJSON in action [here](http://graphjson.io/) 9 | 10 | This repo deployed at [www.GraphJSON.org]. 11 | 12 | Notes: 13 | `jekyll serve --baseurl '' --watch` 14 | to view site locally with styles. 15 | 16 | -------------------------------------------------------------------------------- /_site/css/bootstrap-theme.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.0.3 (http://getbootstrap.com) 3 | * Copyright 2013 Twitter, Inc. 4 | * Licensed under http://www.apache.org/licenses/LICENSE-2.0 5 | */ 6 | 7 | .btn-default, 8 | .btn-primary, 9 | .btn-success, 10 | .btn-info, 11 | .btn-warning, 12 | .btn-danger { 13 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); 14 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); 15 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); 16 | } 17 | 18 | .btn-default:active, 19 | .btn-primary:active, 20 | .btn-success:active, 21 | .btn-info:active, 22 | .btn-warning:active, 23 | .btn-danger:active, 24 | .btn-default.active, 25 | .btn-primary.active, 26 | .btn-success.active, 27 | .btn-info.active, 28 | .btn-warning.active, 29 | .btn-danger.active { 30 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 31 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 32 | } 33 | 34 | .btn:active, 35 | .btn.active { 36 | background-image: none; 37 | } 38 | 39 | .btn-default { 40 | text-shadow: 0 1px 0 #fff; 41 | background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); 42 | background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%); 43 | background-repeat: repeat-x; 44 | border-color: #dbdbdb; 45 | border-color: #ccc; 46 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); 47 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 48 | } 49 | 50 | .btn-default:hover, 51 | .btn-default:focus { 52 | background-color: #e0e0e0; 53 | background-position: 0 -15px; 54 | } 55 | 56 | .btn-default:active, 57 | .btn-default.active { 58 | background-color: #e0e0e0; 59 | border-color: #dbdbdb; 60 | } 61 | 62 | .btn-primary { 63 | background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%); 64 | background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); 65 | background-repeat: repeat-x; 66 | border-color: #2b669a; 67 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0); 68 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 69 | } 70 | 71 | .btn-primary:hover, 72 | .btn-primary:focus { 73 | background-color: #2d6ca2; 74 | background-position: 0 -15px; 75 | } 76 | 77 | .btn-primary:active, 78 | .btn-primary.active { 79 | background-color: #2d6ca2; 80 | border-color: #2b669a; 81 | } 82 | 83 | .btn-success { 84 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); 85 | background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); 86 | background-repeat: repeat-x; 87 | border-color: #3e8f3e; 88 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); 89 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 90 | } 91 | 92 | .btn-success:hover, 93 | .btn-success:focus { 94 | background-color: #419641; 95 | background-position: 0 -15px; 96 | } 97 | 98 | .btn-success:active, 99 | .btn-success.active { 100 | background-color: #419641; 101 | border-color: #3e8f3e; 102 | } 103 | 104 | .btn-warning { 105 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); 106 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); 107 | background-repeat: repeat-x; 108 | border-color: #e38d13; 109 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); 110 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 111 | } 112 | 113 | .btn-warning:hover, 114 | .btn-warning:focus { 115 | background-color: #eb9316; 116 | background-position: 0 -15px; 117 | } 118 | 119 | .btn-warning:active, 120 | .btn-warning.active { 121 | background-color: #eb9316; 122 | border-color: #e38d13; 123 | } 124 | 125 | .btn-danger { 126 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); 127 | background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); 128 | background-repeat: repeat-x; 129 | border-color: #b92c28; 130 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); 131 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 132 | } 133 | 134 | .btn-danger:hover, 135 | .btn-danger:focus { 136 | background-color: #c12e2a; 137 | background-position: 0 -15px; 138 | } 139 | 140 | .btn-danger:active, 141 | .btn-danger.active { 142 | background-color: #c12e2a; 143 | border-color: #b92c28; 144 | } 145 | 146 | .btn-info { 147 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); 148 | background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); 149 | background-repeat: repeat-x; 150 | border-color: #28a4c9; 151 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); 152 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 153 | } 154 | 155 | .btn-info:hover, 156 | .btn-info:focus { 157 | background-color: #2aabd2; 158 | background-position: 0 -15px; 159 | } 160 | 161 | .btn-info:active, 162 | .btn-info.active { 163 | background-color: #2aabd2; 164 | border-color: #28a4c9; 165 | } 166 | 167 | .thumbnail, 168 | .img-thumbnail { 169 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 170 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 171 | } 172 | 173 | .dropdown-menu > li > a:hover, 174 | .dropdown-menu > li > a:focus { 175 | background-color: #e8e8e8; 176 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 177 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 178 | background-repeat: repeat-x; 179 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 180 | } 181 | 182 | .dropdown-menu > .active > a, 183 | .dropdown-menu > .active > a:hover, 184 | .dropdown-menu > .active > a:focus { 185 | background-color: #357ebd; 186 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 187 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 188 | background-repeat: repeat-x; 189 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 190 | } 191 | 192 | .navbar-default { 193 | background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); 194 | background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%); 195 | background-repeat: repeat-x; 196 | border-radius: 4px; 197 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); 198 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 199 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); 200 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); 201 | } 202 | 203 | .navbar-default .navbar-nav > .active > a { 204 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%); 205 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%); 206 | background-repeat: repeat-x; 207 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0); 208 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); 209 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); 210 | } 211 | 212 | .navbar-brand, 213 | .navbar-nav > li > a { 214 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); 215 | } 216 | 217 | .navbar-inverse { 218 | background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%); 219 | background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%); 220 | background-repeat: repeat-x; 221 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); 222 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 223 | } 224 | 225 | .navbar-inverse .navbar-nav > .active > a { 226 | background-image: -webkit-linear-gradient(top, #222222 0%, #282828 100%); 227 | background-image: linear-gradient(to bottom, #222222 0%, #282828 100%); 228 | background-repeat: repeat-x; 229 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0); 230 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); 231 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); 232 | } 233 | 234 | .navbar-inverse .navbar-brand, 235 | .navbar-inverse .navbar-nav > li > a { 236 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); 237 | } 238 | 239 | .navbar-static-top, 240 | .navbar-fixed-top, 241 | .navbar-fixed-bottom { 242 | border-radius: 0; 243 | } 244 | 245 | .alert { 246 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); 247 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); 248 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); 249 | } 250 | 251 | .alert-success { 252 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); 253 | background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); 254 | background-repeat: repeat-x; 255 | border-color: #b2dba1; 256 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); 257 | } 258 | 259 | .alert-info { 260 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); 261 | background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); 262 | background-repeat: repeat-x; 263 | border-color: #9acfea; 264 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); 265 | } 266 | 267 | .alert-warning { 268 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); 269 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); 270 | background-repeat: repeat-x; 271 | border-color: #f5e79e; 272 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); 273 | } 274 | 275 | .alert-danger { 276 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); 277 | background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); 278 | background-repeat: repeat-x; 279 | border-color: #dca7a7; 280 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); 281 | } 282 | 283 | .progress { 284 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); 285 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); 286 | background-repeat: repeat-x; 287 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); 288 | } 289 | 290 | .progress-bar { 291 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%); 292 | background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); 293 | background-repeat: repeat-x; 294 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); 295 | } 296 | 297 | .progress-bar-success { 298 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); 299 | background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); 300 | background-repeat: repeat-x; 301 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); 302 | } 303 | 304 | .progress-bar-info { 305 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); 306 | background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); 307 | background-repeat: repeat-x; 308 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); 309 | } 310 | 311 | .progress-bar-warning { 312 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); 313 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); 314 | background-repeat: repeat-x; 315 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); 316 | } 317 | 318 | .progress-bar-danger { 319 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); 320 | background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); 321 | background-repeat: repeat-x; 322 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); 323 | } 324 | 325 | .list-group { 326 | border-radius: 4px; 327 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 328 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 329 | } 330 | 331 | .list-group-item.active, 332 | .list-group-item.active:hover, 333 | .list-group-item.active:focus { 334 | text-shadow: 0 -1px 0 #3071a9; 335 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%); 336 | background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); 337 | background-repeat: repeat-x; 338 | border-color: #3278b3; 339 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0); 340 | } 341 | 342 | .panel { 343 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 344 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 345 | } 346 | 347 | .panel-default > .panel-heading { 348 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 349 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 350 | background-repeat: repeat-x; 351 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 352 | } 353 | 354 | .panel-primary > .panel-heading { 355 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 356 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 357 | background-repeat: repeat-x; 358 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 359 | } 360 | 361 | .panel-success > .panel-heading { 362 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); 363 | background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); 364 | background-repeat: repeat-x; 365 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); 366 | } 367 | 368 | .panel-info > .panel-heading { 369 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); 370 | background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); 371 | background-repeat: repeat-x; 372 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); 373 | } 374 | 375 | .panel-warning > .panel-heading { 376 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); 377 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); 378 | background-repeat: repeat-x; 379 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); 380 | } 381 | 382 | .panel-danger > .panel-heading { 383 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); 384 | background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); 385 | background-repeat: repeat-x; 386 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); 387 | } 388 | 389 | .well { 390 | background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); 391 | background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); 392 | background-repeat: repeat-x; 393 | border-color: #dcdcdc; 394 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); 395 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); 396 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); 397 | } -------------------------------------------------------------------------------- /_site/css/bootstrap-theme.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.0.3 (http://getbootstrap.com) 3 | * Copyright 2013 Twitter, Inc. 4 | * Licensed under http://www.apache.org/licenses/LICENSE-2.0 5 | */ 6 | 7 | .btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);background-repeat:repeat-x;border-color:#2b669a;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff2d6ca2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff419641',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffeb9316',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);background-repeat:repeat-x;border-color:#b92c28;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc12e2a',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2aabd2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff3f3f3',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff282828',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;border-color:#b2dba1;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffc8e5bc',GradientType=0)}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffb9def0',GradientType=0)}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;border-color:#f5e79e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fff8efc0',GradientType=0)}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;border-color:#dca7a7;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffe7c3c3',GradientType=0)}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff5f5f5',GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3071a9',GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3278b3',GradientType=0)}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffd0e9c6',GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffc4e3f3',GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fffaf2cc',GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffebcccc',GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)} -------------------------------------------------------------------------------- /_site/css/main.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 60px; 3 | background-color: #242424; 4 | font-weight: 200; 5 | } 6 | /* 7 | @media (min-width: 992px) { 8 | .container { 9 | width: 70%; 10 | } 11 | } 12 | */ 13 | 14 | .container { 15 | max-width: 60%; 16 | margin: auto; 17 | } 18 | 19 | .body-container { 20 | background: #FFF; 21 | border-width: 20px; 22 | border-color: aqua; 23 | border: solid; 24 | border-style: inherit; 25 | border-radius: 52px; 26 | padding: 40px; 27 | padding-top: 5px; 28 | margin: auto; 29 | margin-top: 30px; 30 | } 31 | 32 | .maruku_toc { 33 | font-size: 18px; 34 | } 35 | 36 | .brand { 37 | font-size: 18px; 38 | color: rgba(51, 153, 255); 39 | } 40 | 41 | .navbar-inverse { 42 | background-color: #242424; 43 | border-color: rgba(51, 153, 255, 0.4); 44 | border-bottom-width: 4px; 45 | padding: 10px; 46 | } 47 | 48 | .partials { 49 | margin-top: 15px; 50 | } 51 | 52 | a { 53 | color: #54B0FF; 54 | text-decoration: none; 55 | } 56 | 57 | a:hover { 58 | color: #E6E6E6; 59 | text-decoration: none; 60 | } 61 | 62 | p { 63 | font-size: 1.25em; 64 | line-height: 1.5em; 65 | color: #525252; 66 | } 67 | 68 | h1 { 69 | 70 | } 71 | 72 | h2 { 73 | font-size: 24px; 74 | } 75 | 76 | h3 { 77 | font-size: 20px; 78 | } 79 | 80 | h1[id]:before, 81 | h2[id]:before, 82 | h3[id]:before, 83 | h4[id]:before, 84 | h5[id]:before, 85 | h6[id]:before { 86 | content:""; 87 | display:block; 88 | height: 75px; 89 | margin: -30px 0 0; 90 | } 91 | 92 | h1[id], 93 | h2[id], 94 | h3[id], 95 | h4[id], 96 | h5[id], 97 | h6[id] { 98 | font-weight: 200; 99 | margin-top: 10px; 100 | } 101 | 102 | .example-small { 103 | max-height: 300px; 104 | } 105 | 106 | hr { 107 | display: none; 108 | } -------------------------------------------------------------------------------- /_site/css/syntax.css: -------------------------------------------------------------------------------- 1 | /* bootstrap override */ 2 | code { 3 | color: #330099; 4 | background-color: #DFDFDF; 5 | } 6 | 7 | .hll { background-color: #ffffcc } 8 | .c { color: #0099FF; font-style: italic } /* Comment */ 9 | .err { color: #AA0000; background-color: #FFAAAA } /* Error */ 10 | .k { color: #006699; font-weight: bold } /* Keyword */ 11 | .o { color: #555555 } /* Operator */ 12 | .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */ 13 | .cp { color: #009999 } /* Comment.Preproc */ 14 | .c1 { color: #0099FF; font-style: italic } /* Comment.Single */ 15 | .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */ 16 | .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */ 17 | .ge { font-style: italic } /* Generic.Emph */ 18 | .gr { color: #FF0000 } /* Generic.Error */ 19 | .gh { color: #003300; font-weight: bold } /* Generic.Heading */ 20 | .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */ 21 | .go { color: #AAAAAA } /* Generic.Output */ 22 | .gp { color: #000099; font-weight: bold } /* Generic.Prompt */ 23 | .gs { font-weight: bold } /* Generic.Strong */ 24 | .gu { color: #003300; font-weight: bold } /* Generic.Subheading */ 25 | .gt { color: #99CC66 } /* Generic.Traceback */ 26 | .kc { color: #006699; font-weight: bold } /* Keyword.Constant */ 27 | .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */ 28 | .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */ 29 | .kp { color: #006699 } /* Keyword.Pseudo */ 30 | .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */ 31 | .kt { color: #007788; font-weight: bold } /* Keyword.Type */ 32 | .m { color: #FF6600 } /* Literal.Number */ 33 | .s { color: #CC3300 } /* Literal.String */ 34 | .na { color: #330099 } /* Name.Attribute */ 35 | .nb { color: #336666 } /* Name.Builtin */ 36 | .nc { color: #00AA88; font-weight: bold } /* Name.Class */ 37 | .no { color: #336600 } /* Name.Constant */ 38 | .nd { color: #9999FF } /* Name.Decorator */ 39 | .ni { color: #999999; font-weight: bold } /* Name.Entity */ 40 | .ne { color: #CC0000; font-weight: bold } /* Name.Exception */ 41 | .nf { color: #CC00FF } /* Name.Function */ 42 | .nl { color: #9999FF } /* Name.Label */ 43 | .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */ 44 | .nt { color: #330099; font-weight: bold } /* Name.Tag */ 45 | .nv { color: #003333 } /* Name.Variable */ 46 | .ow { color: #000000; font-weight: bold } /* Operator.Word */ 47 | .w { color: #bbbbbb } /* Text.Whitespace */ 48 | .mf { color: #FF6600 } /* Literal.Number.Float */ 49 | .mh { color: #FF6600 } /* Literal.Number.Hex */ 50 | .mi { color: #FF6600 } /* Literal.Number.Integer */ 51 | .mo { color: #FF6600 } /* Literal.Number.Oct */ 52 | .sb { color: #CC3300 } /* Literal.String.Backtick */ 53 | .sc { color: #CC3300 } /* Literal.String.Char */ 54 | .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ 55 | .s2 { color: #CC3300 } /* Literal.String.Double */ 56 | .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */ 57 | .sh { color: #CC3300 } /* Literal.String.Heredoc */ 58 | .si { color: #AA0000 } /* Literal.String.Interpol */ 59 | .sx { color: #CC3300 } /* Literal.String.Other */ 60 | .sr { color: #33AAAA } /* Literal.String.Regex */ 61 | .s1 { color: #CC3300 } /* Literal.String.Single */ 62 | .ss { color: #FFCC33 } /* Literal.String.Symbol */ 63 | .bp { color: #336666 } /* Name.Builtin.Pseudo */ 64 | .vc { color: #003333 } /* Name.Variable.Class */ 65 | .vg { color: #003333 } /* Name.Variable.Global */ 66 | .vi { color: #003333 } /* Name.Variable.Instance */ 67 | .il { color: #FF6600 } /* Literal.Number.Integer.Long */ 68 | -------------------------------------------------------------------------------- /_site/examples/data/GraphJSON: -------------------------------------------------------------------------------- 1 | {"nodes": 2 | [{ 3 | "_id": 10, 4 | "data": {"properties": {}, 5 | "labels": {}, 6 | "something else": {}, 7 | "nodeStyle": { 8 | "caption": "some name" 9 | }, 10 | }, 11 | }], 12 | "edges": 13 | [{ 14 | "_sid/_tid": 10, 15 | "data": {"properties":{}, 16 | "type": "ACTED_IN" 17 | "directed": "true"}, 18 | "edgeStyle": { 19 | "caption": "something" 20 | } 21 | }], 22 | "style": { 23 | "node": {"stroke": 24 | "strokeWidth": 25 | "size": 26 | "fill":} 27 | "edge": {"strokeWidth": 28 | "stroke": 29 | "straight": 30 | "arrows": ...} 31 | "node.class": 32 | "edge.class": 33 | "node.properties.age.18" : {}} 34 | "graph": { 35 | "background": 36 | "height": 37 | "width": 38 | "bidirectional": false 39 | } 40 | } -------------------------------------------------------------------------------- /_site/examples/data/OLDJSON_Cleanpy.py: -------------------------------------------------------------------------------- 1 | import json 2 | import urllib2 3 | 4 | 5 | file = open("bacon.json", "w") 6 | data = urllib2.urlopen("http://movies.graphalchemist.com/movies-graph/13810/61016/").read() 7 | GraphJSON = json.loads(data) 8 | 9 | 10 | GraphJSON['edges'] = GraphJSON.pop('links') 11 | 12 | for n in GraphJSON['nodes']: 13 | if n.get('id'): 14 | n['_id'] = n.pop('id') 15 | data = {} 16 | style = {} 17 | for k, v in list(n.iteritems()): 18 | #import pdb; pdb.set_trace() 19 | if (k == "_id") or (k =="data") or (k=="style"): 20 | continue 21 | elif k == "label": 22 | style['caption'] = n.pop(k) 23 | else: 24 | data[k] = n.pop(k) 25 | if (style == {}) or (data=={}): 26 | continue 27 | n['style'] = style 28 | n['data'] = data 29 | 30 | for e in GraphJSON['edges']: 31 | if e.get('source'): 32 | e['_source'] = e.pop('source') 33 | if e.get('target'): 34 | e['_target'] = e.pop('target') 35 | data = {} 36 | style = {} 37 | for k, v in list(e.iteritems()): 38 | #import pdb; pdb.set_trace() 39 | if (k == "_source") or (k =="_target") or (k=="style") or (k=="data"): 40 | continue 41 | elif k == "label": 42 | style['caption'] = e.pop(k) 43 | else: 44 | data[k] = e.pop(k) 45 | if (style == {}) or (data=={}): 46 | continue 47 | e['style'] = style 48 | e['data'] = data 49 | 50 | json.dump(GraphJSON, file, sort_keys=True, indent=4, separators=(',', ': ')) -------------------------------------------------------------------------------- /_site/examples/data/bacon.json: -------------------------------------------------------------------------------- 1 | { 2 | "edges": [ 3 | { 4 | "_source": 13810, 5 | "_target": 630970, 6 | "data": { 7 | "role": "An old steward" 8 | }, 9 | "style": { 10 | "caption": "acted in" 11 | } 12 | }, 13 | { 14 | "_source": 55903, 15 | "_target": 660137, 16 | "data": { 17 | "role": "Naomi Caldwell" 18 | }, 19 | "style": { 20 | "caption": "acted in" 21 | } 22 | }, 23 | { 24 | "_source": 707157, 25 | "_target": 224003, 26 | "data": { 27 | "role": "Mabel Normand" 28 | }, 29 | "style": { 30 | "caption": "acted in" 31 | } 32 | }, 33 | { 34 | "_source": 13810, 35 | "_target": 707157, 36 | "data": { 37 | "role": "Hynkel" 38 | }, 39 | "style": { 40 | "caption": "acted in" 41 | } 42 | }, 43 | { 44 | "_source": 707157, 45 | "_target": 182771, 46 | "data": { 47 | "role": "Mack Sennett" 48 | }, 49 | "style": { 50 | "caption": "acted in" 51 | } 52 | }, 53 | { 54 | "_source": 814132, 55 | "_target": 61016, 56 | "data": { 57 | "role": "Marty" 58 | }, 59 | "style": { 60 | "caption": "acted in" 61 | } 62 | }, 63 | { 64 | "_source": 182771, 65 | "_target": 803447, 66 | "data": { 67 | "role": "Roman Craig" 68 | }, 69 | "style": { 70 | "caption": "acted in" 71 | } 72 | }, 73 | { 74 | "_source": 803447, 75 | "_target": 61016, 76 | "data": { 77 | "role": "Jake Briggs" 78 | }, 79 | "style": { 80 | "caption": "acted in" 81 | } 82 | }, 83 | { 84 | "_source": 814132, 85 | "_target": 61016 86 | }, 87 | { 88 | "_source": 630970, 89 | "_target": 55903, 90 | "data": { 91 | "role": "Martha" 92 | }, 93 | "style": { 94 | "caption": "acted in" 95 | } 96 | }, 97 | { 98 | "_source": 224003, 99 | "_target": 814132, 100 | "data": { 101 | "role": "Sybil" 102 | }, 103 | "style": { 104 | "caption": "acted in" 105 | } 106 | }, 107 | { 108 | "_source": 13810, 109 | "_target": 707157, 110 | "data": { 111 | "role": "The Tramp" 112 | }, 113 | "style": { 114 | "caption": "acted in" 115 | } 116 | }, 117 | { 118 | "_source": 660137, 119 | "_target": 61016, 120 | "data": { 121 | "role": "Carroll Caldwell" 122 | }, 123 | "style": { 124 | "caption": "acted in" 125 | } 126 | }, 127 | { 128 | "_source": 13810, 129 | "_target": 707157, 130 | "data": { 131 | "role": "A Jewish Barber" 132 | }, 133 | "style": { 134 | "caption": "acted in" 135 | } 136 | }, 137 | { 138 | "_source": 607369, 139 | "_target": 61016, 140 | "data": { 141 | "role": "David Lindhagen" 142 | }, 143 | "style": { 144 | "caption": "acted in" 145 | } 146 | }, 147 | { 148 | "_source": 224003, 149 | "_target": 607369, 150 | "data": { 151 | "role": "Kate" 152 | }, 153 | "style": { 154 | "caption": "acted in" 155 | } 156 | }, 157 | { 158 | "_source": 814132, 159 | "_target": 61016 160 | } 161 | ], 162 | "nodes": [ 163 | { 164 | "_id": 55903, 165 | "data": { 166 | "genre": [], 167 | "mid": "/m/01q697", 168 | "name": "Tippi Hedren", 169 | "node_type": "other", 170 | "type": "person" 171 | }, 172 | "style": { 173 | "caption": "Tippi Hedren" 174 | } 175 | }, 176 | { 177 | "_id": 660137, 178 | "data": { 179 | "genre": [ 180 | "Drama" 181 | ], 182 | "mid": "/m/0gw_7xk", 183 | "name": "Jayne Mansfield's Car", 184 | "node_type": "other", 185 | "type": "movie" 186 | }, 187 | "style": { 188 | "caption": "Jayne Mansfield's Car" 189 | } 190 | }, 191 | { 192 | "_id": 13810, 193 | "data": { 194 | "genre": [], 195 | "mid": "/m/01lc5", 196 | "name": "Charlie Chaplin", 197 | "node_type": "root", 198 | "type": "person" 199 | }, 200 | "style": { 201 | "caption": "Charlie Chaplin" 202 | } 203 | }, 204 | { 205 | "_id": 607369, 206 | "data": { 207 | "genre": [ 208 | "Romance Film", 209 | "Romantic comedy", 210 | "Comedy-drama", 211 | "Drama", 212 | "Comedy" 213 | ], 214 | "mid": "/m/0ddf2bm", 215 | "name": "Crazy, Stupid, Love.", 216 | "node_type": "other", 217 | "type": "movie" 218 | }, 219 | "style": { 220 | "caption": "Crazy, Stupid, Love." 221 | } 222 | }, 223 | { 224 | "_id": 630970, 225 | "data": { 226 | "genre": [ 227 | "Romantic comedy", 228 | "Romance Film", 229 | "Comedy" 230 | ], 231 | "mid": "/m/08h1y4", 232 | "name": "A Countess from Hong Kong", 233 | "node_type": "other", 234 | "type": "movie" 235 | }, 236 | "style": { 237 | "caption": "A Countess from Hong Kong" 238 | } 239 | }, 240 | { 241 | "_id": 814132, 242 | "data": { 243 | "genre": [ 244 | "Romance Film", 245 | "Film adaptation", 246 | "Indie film", 247 | "Drama", 248 | "Comedy" 249 | ], 250 | "mid": "/m/0fc42k", 251 | "name": "Loverboy", 252 | "node_type": "other", 253 | "type": "movie" 254 | }, 255 | "style": { 256 | "caption": "Loverboy" 257 | } 258 | }, 259 | { 260 | "_id": 224003, 261 | "data": { 262 | "genre": [], 263 | "mid": "/m/01g257", 264 | "name": "Marisa Tomei", 265 | "node_type": "other", 266 | "type": "person" 267 | }, 268 | "style": { 269 | "caption": "Marisa Tomei" 270 | } 271 | }, 272 | { 273 | "_id": 182771, 274 | "data": { 275 | "genre": [], 276 | "mid": "/m/0d608", 277 | "name": "Dan Aykroyd", 278 | "node_type": "other", 279 | "type": "person" 280 | }, 281 | "style": { 282 | "caption": "Dan Aykroyd" 283 | } 284 | }, 285 | { 286 | "_id": 803447, 287 | "data": { 288 | "genre": [ 289 | "Romance Film", 290 | "Drama", 291 | "Comedy" 292 | ], 293 | "mid": "/m/058kh7", 294 | "name": "She's Having a Baby", 295 | "node_type": "other", 296 | "type": "movie" 297 | }, 298 | "style": { 299 | "caption": "She's Having a Baby" 300 | } 301 | }, 302 | { 303 | "_id": 61016, 304 | "data": { 305 | "genre": [], 306 | "mid": "/m/04954", 307 | "name": "Kevin Bacon", 308 | "node_type": "root", 309 | "type": "person" 310 | }, 311 | "style": { 312 | "caption": "Kevin Bacon" 313 | } 314 | }, 315 | { 316 | "_id": 707157, 317 | "data": { 318 | "genre": [ 319 | "Indie film", 320 | "Biographical film", 321 | "Costume drama", 322 | "Period piece", 323 | "Biography", 324 | "Drama" 325 | ], 326 | "mid": "/m/016z5x", 327 | "name": "Chaplin", 328 | "node_type": "other", 329 | "type": "movie" 330 | }, 331 | "style": { 332 | "caption": "Chaplin" 333 | } 334 | } 335 | ] 336 | } -------------------------------------------------------------------------------- /_site/examples/images/bacon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/examples/images/bacon.png -------------------------------------------------------------------------------- /_site/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /_site/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /_site/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /_site/images/body-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/images/body-bg.jpg -------------------------------------------------------------------------------- /_site/images/download-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/images/download-button.png -------------------------------------------------------------------------------- /_site/images/github-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/images/github-button.png -------------------------------------------------------------------------------- /_site/images/header-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/images/header-bg.jpg -------------------------------------------------------------------------------- /_site/images/highlight-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/images/highlight-bg.jpg -------------------------------------------------------------------------------- /_site/images/sidebar-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/_site/images/sidebar-bg.jpg -------------------------------------------------------------------------------- /_site/js/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.0.3 (http://getbootstrap.com) 3 | * Copyright 2013 Twitter, Inc. 4 | * Licensed under http://www.apache.org/licenses/LICENSE-2.0 5 | */ 6 | 7 | if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]'),b=!0;if(a.length){var c=this.$element.find("input");"radio"===c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?b=!1:a.find(".active").removeClass("active")),b&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}b&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(''}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery); -------------------------------------------------------------------------------- /_site/params.json: -------------------------------------------------------------------------------- 1 | {"name":"Graphjson","tagline":"A standard format for Graph data - GraphJSON. ","body":"GraphJSON\r\n=========\r\n\r\nAll of the GraphJSON file format and specifications are located [here](https://github.com/GraphAlchemist/GraphJSON/wiki)\r\n\r\nSee GraphJSON in action [here](http://graphjson.io/)\r\n\r\nGraphJSON is a standard format for Graph visualization, similiar to GeoJSON, for geographical maps.\r\n\r\nThere are a number of different graph file formats - GEXF, GDF, GML, .csv, Pajek Net, GraphML, etc. For web based graph applications, a standardized graph format is needed so that applications can automatically render graphs with pre-specified layouts, visualization layers, colors, and other attributes.\r\n\r\n\r\n","google":"UA-40694647-4","note":"Don't delete this file! It's used internally to help with page regeneration."} -------------------------------------------------------------------------------- /css/bootstrap-theme.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.0.3 (http://getbootstrap.com) 3 | * Copyright 2013 Twitter, Inc. 4 | * Licensed under http://www.apache.org/licenses/LICENSE-2.0 5 | */ 6 | 7 | .btn-default, 8 | .btn-primary, 9 | .btn-success, 10 | .btn-info, 11 | .btn-warning, 12 | .btn-danger { 13 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); 14 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); 15 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); 16 | } 17 | 18 | .btn-default:active, 19 | .btn-primary:active, 20 | .btn-success:active, 21 | .btn-info:active, 22 | .btn-warning:active, 23 | .btn-danger:active, 24 | .btn-default.active, 25 | .btn-primary.active, 26 | .btn-success.active, 27 | .btn-info.active, 28 | .btn-warning.active, 29 | .btn-danger.active { 30 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 31 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 32 | } 33 | 34 | .btn:active, 35 | .btn.active { 36 | background-image: none; 37 | } 38 | 39 | .btn-default { 40 | text-shadow: 0 1px 0 #fff; 41 | background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); 42 | background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%); 43 | background-repeat: repeat-x; 44 | border-color: #dbdbdb; 45 | border-color: #ccc; 46 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); 47 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 48 | } 49 | 50 | .btn-default:hover, 51 | .btn-default:focus { 52 | background-color: #e0e0e0; 53 | background-position: 0 -15px; 54 | } 55 | 56 | .btn-default:active, 57 | .btn-default.active { 58 | background-color: #e0e0e0; 59 | border-color: #dbdbdb; 60 | } 61 | 62 | .btn-primary { 63 | background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%); 64 | background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); 65 | background-repeat: repeat-x; 66 | border-color: #2b669a; 67 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0); 68 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 69 | } 70 | 71 | .btn-primary:hover, 72 | .btn-primary:focus { 73 | background-color: #2d6ca2; 74 | background-position: 0 -15px; 75 | } 76 | 77 | .btn-primary:active, 78 | .btn-primary.active { 79 | background-color: #2d6ca2; 80 | border-color: #2b669a; 81 | } 82 | 83 | .btn-success { 84 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); 85 | background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); 86 | background-repeat: repeat-x; 87 | border-color: #3e8f3e; 88 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); 89 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 90 | } 91 | 92 | .btn-success:hover, 93 | .btn-success:focus { 94 | background-color: #419641; 95 | background-position: 0 -15px; 96 | } 97 | 98 | .btn-success:active, 99 | .btn-success.active { 100 | background-color: #419641; 101 | border-color: #3e8f3e; 102 | } 103 | 104 | .btn-warning { 105 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); 106 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); 107 | background-repeat: repeat-x; 108 | border-color: #e38d13; 109 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); 110 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 111 | } 112 | 113 | .btn-warning:hover, 114 | .btn-warning:focus { 115 | background-color: #eb9316; 116 | background-position: 0 -15px; 117 | } 118 | 119 | .btn-warning:active, 120 | .btn-warning.active { 121 | background-color: #eb9316; 122 | border-color: #e38d13; 123 | } 124 | 125 | .btn-danger { 126 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); 127 | background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); 128 | background-repeat: repeat-x; 129 | border-color: #b92c28; 130 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); 131 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 132 | } 133 | 134 | .btn-danger:hover, 135 | .btn-danger:focus { 136 | background-color: #c12e2a; 137 | background-position: 0 -15px; 138 | } 139 | 140 | .btn-danger:active, 141 | .btn-danger.active { 142 | background-color: #c12e2a; 143 | border-color: #b92c28; 144 | } 145 | 146 | .btn-info { 147 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); 148 | background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); 149 | background-repeat: repeat-x; 150 | border-color: #28a4c9; 151 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); 152 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 153 | } 154 | 155 | .btn-info:hover, 156 | .btn-info:focus { 157 | background-color: #2aabd2; 158 | background-position: 0 -15px; 159 | } 160 | 161 | .btn-info:active, 162 | .btn-info.active { 163 | background-color: #2aabd2; 164 | border-color: #28a4c9; 165 | } 166 | 167 | .thumbnail, 168 | .img-thumbnail { 169 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 170 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 171 | } 172 | 173 | .dropdown-menu > li > a:hover, 174 | .dropdown-menu > li > a:focus { 175 | background-color: #e8e8e8; 176 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 177 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 178 | background-repeat: repeat-x; 179 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 180 | } 181 | 182 | .dropdown-menu > .active > a, 183 | .dropdown-menu > .active > a:hover, 184 | .dropdown-menu > .active > a:focus { 185 | background-color: #357ebd; 186 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 187 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 188 | background-repeat: repeat-x; 189 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 190 | } 191 | 192 | .navbar-default { 193 | background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); 194 | background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%); 195 | background-repeat: repeat-x; 196 | border-radius: 4px; 197 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); 198 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 199 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); 200 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); 201 | } 202 | 203 | .navbar-default .navbar-nav > .active > a { 204 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%); 205 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%); 206 | background-repeat: repeat-x; 207 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0); 208 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); 209 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); 210 | } 211 | 212 | .navbar-brand, 213 | .navbar-nav > li > a { 214 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); 215 | } 216 | 217 | .navbar-inverse { 218 | background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%); 219 | background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%); 220 | background-repeat: repeat-x; 221 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); 222 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 223 | } 224 | 225 | .navbar-inverse .navbar-nav > .active > a { 226 | background-image: -webkit-linear-gradient(top, #222222 0%, #282828 100%); 227 | background-image: linear-gradient(to bottom, #222222 0%, #282828 100%); 228 | background-repeat: repeat-x; 229 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0); 230 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); 231 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); 232 | } 233 | 234 | .navbar-inverse .navbar-brand, 235 | .navbar-inverse .navbar-nav > li > a { 236 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); 237 | } 238 | 239 | .navbar-static-top, 240 | .navbar-fixed-top, 241 | .navbar-fixed-bottom { 242 | border-radius: 0; 243 | } 244 | 245 | .alert { 246 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); 247 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); 248 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); 249 | } 250 | 251 | .alert-success { 252 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); 253 | background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); 254 | background-repeat: repeat-x; 255 | border-color: #b2dba1; 256 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); 257 | } 258 | 259 | .alert-info { 260 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); 261 | background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); 262 | background-repeat: repeat-x; 263 | border-color: #9acfea; 264 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); 265 | } 266 | 267 | .alert-warning { 268 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); 269 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); 270 | background-repeat: repeat-x; 271 | border-color: #f5e79e; 272 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); 273 | } 274 | 275 | .alert-danger { 276 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); 277 | background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); 278 | background-repeat: repeat-x; 279 | border-color: #dca7a7; 280 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); 281 | } 282 | 283 | .progress { 284 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); 285 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); 286 | background-repeat: repeat-x; 287 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); 288 | } 289 | 290 | .progress-bar { 291 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%); 292 | background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); 293 | background-repeat: repeat-x; 294 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); 295 | } 296 | 297 | .progress-bar-success { 298 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); 299 | background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); 300 | background-repeat: repeat-x; 301 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); 302 | } 303 | 304 | .progress-bar-info { 305 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); 306 | background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); 307 | background-repeat: repeat-x; 308 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); 309 | } 310 | 311 | .progress-bar-warning { 312 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); 313 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); 314 | background-repeat: repeat-x; 315 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); 316 | } 317 | 318 | .progress-bar-danger { 319 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); 320 | background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); 321 | background-repeat: repeat-x; 322 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); 323 | } 324 | 325 | .list-group { 326 | border-radius: 4px; 327 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 328 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 329 | } 330 | 331 | .list-group-item.active, 332 | .list-group-item.active:hover, 333 | .list-group-item.active:focus { 334 | text-shadow: 0 -1px 0 #3071a9; 335 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%); 336 | background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); 337 | background-repeat: repeat-x; 338 | border-color: #3278b3; 339 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0); 340 | } 341 | 342 | .panel { 343 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 344 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 345 | } 346 | 347 | .panel-default > .panel-heading { 348 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 349 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 350 | background-repeat: repeat-x; 351 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 352 | } 353 | 354 | .panel-primary > .panel-heading { 355 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 356 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 357 | background-repeat: repeat-x; 358 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 359 | } 360 | 361 | .panel-success > .panel-heading { 362 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); 363 | background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); 364 | background-repeat: repeat-x; 365 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); 366 | } 367 | 368 | .panel-info > .panel-heading { 369 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); 370 | background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); 371 | background-repeat: repeat-x; 372 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); 373 | } 374 | 375 | .panel-warning > .panel-heading { 376 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); 377 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); 378 | background-repeat: repeat-x; 379 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); 380 | } 381 | 382 | .panel-danger > .panel-heading { 383 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); 384 | background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); 385 | background-repeat: repeat-x; 386 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); 387 | } 388 | 389 | .well { 390 | background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); 391 | background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); 392 | background-repeat: repeat-x; 393 | border-color: #dcdcdc; 394 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); 395 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); 396 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); 397 | } -------------------------------------------------------------------------------- /css/bootstrap-theme.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.0.3 (http://getbootstrap.com) 3 | * Copyright 2013 Twitter, Inc. 4 | * Licensed under http://www.apache.org/licenses/LICENSE-2.0 5 | */ 6 | 7 | .btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);background-repeat:repeat-x;border-color:#2b669a;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff2d6ca2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff419641',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffeb9316',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);background-repeat:repeat-x;border-color:#b92c28;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc12e2a',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2aabd2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff3f3f3',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff282828',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;border-color:#b2dba1;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffc8e5bc',GradientType=0)}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffb9def0',GradientType=0)}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;border-color:#f5e79e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fff8efc0',GradientType=0)}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;border-color:#dca7a7;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffe7c3c3',GradientType=0)}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff5f5f5',GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3071a9',GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3278b3',GradientType=0)}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffd0e9c6',GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffc4e3f3',GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fffaf2cc',GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffebcccc',GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)} -------------------------------------------------------------------------------- /css/main.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 60px; 3 | background-color: #242424; 4 | font-weight: 200; 5 | } 6 | /* 7 | @media (min-width: 992px) { 8 | .container { 9 | width: 70%; 10 | } 11 | } 12 | */ 13 | 14 | .container { 15 | max-width: 60%; 16 | margin: auto; 17 | } 18 | 19 | .body-container { 20 | background: #FFF; 21 | border-width: 20px; 22 | border-color: aqua; 23 | border: solid; 24 | border-style: inherit; 25 | border-radius: 52px; 26 | padding: 40px; 27 | padding-top: 5px; 28 | margin: auto; 29 | margin-top: 30px; 30 | } 31 | 32 | .maruku_toc { 33 | font-size: 18px; 34 | } 35 | 36 | .brand { 37 | font-size: 18px; 38 | color: rgba(51, 153, 255); 39 | } 40 | 41 | .navbar-inverse { 42 | background-color: #242424; 43 | border-color: rgba(51, 153, 255, 0.4); 44 | border-bottom-width: 4px; 45 | padding: 10px; 46 | } 47 | 48 | .partials { 49 | margin-top: 15px; 50 | } 51 | 52 | a { 53 | color: #54B0FF; 54 | text-decoration: none; 55 | } 56 | 57 | a:hover { 58 | color: #E6E6E6; 59 | text-decoration: none; 60 | } 61 | 62 | p { 63 | font-size: 1.25em; 64 | line-height: 1.5em; 65 | color: #525252; 66 | } 67 | 68 | h1 { 69 | 70 | } 71 | 72 | h2 { 73 | font-size: 24px; 74 | } 75 | 76 | h3 { 77 | font-size: 20px; 78 | } 79 | 80 | h1[id]:before, 81 | h2[id]:before, 82 | h3[id]:before, 83 | h4[id]:before, 84 | h5[id]:before, 85 | h6[id]:before { 86 | content:""; 87 | display:block; 88 | height: 75px; 89 | margin: -30px 0 0; 90 | } 91 | 92 | h1[id], 93 | h2[id], 94 | h3[id], 95 | h4[id], 96 | h5[id], 97 | h6[id] { 98 | font-weight: 200; 99 | margin-top: 10px; 100 | } 101 | 102 | .example-small { 103 | max-height: 300px; 104 | } 105 | 106 | hr { 107 | display: none; 108 | } -------------------------------------------------------------------------------- /css/syntax.css: -------------------------------------------------------------------------------- 1 | /* bootstrap override */ 2 | code { 3 | color: #330099; 4 | background-color: #DFDFDF; 5 | } 6 | 7 | .hll { background-color: #ffffcc } 8 | .c { color: #0099FF; font-style: italic } /* Comment */ 9 | .err { color: #AA0000; background-color: #FFAAAA } /* Error */ 10 | .k { color: #006699; font-weight: bold } /* Keyword */ 11 | .o { color: #555555 } /* Operator */ 12 | .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */ 13 | .cp { color: #009999 } /* Comment.Preproc */ 14 | .c1 { color: #0099FF; font-style: italic } /* Comment.Single */ 15 | .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */ 16 | .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */ 17 | .ge { font-style: italic } /* Generic.Emph */ 18 | .gr { color: #FF0000 } /* Generic.Error */ 19 | .gh { color: #003300; font-weight: bold } /* Generic.Heading */ 20 | .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */ 21 | .go { color: #AAAAAA } /* Generic.Output */ 22 | .gp { color: #000099; font-weight: bold } /* Generic.Prompt */ 23 | .gs { font-weight: bold } /* Generic.Strong */ 24 | .gu { color: #003300; font-weight: bold } /* Generic.Subheading */ 25 | .gt { color: #99CC66 } /* Generic.Traceback */ 26 | .kc { color: #006699; font-weight: bold } /* Keyword.Constant */ 27 | .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */ 28 | .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */ 29 | .kp { color: #006699 } /* Keyword.Pseudo */ 30 | .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */ 31 | .kt { color: #007788; font-weight: bold } /* Keyword.Type */ 32 | .m { color: #FF6600 } /* Literal.Number */ 33 | .s { color: #CC3300 } /* Literal.String */ 34 | .na { color: #330099 } /* Name.Attribute */ 35 | .nb { color: #336666 } /* Name.Builtin */ 36 | .nc { color: #00AA88; font-weight: bold } /* Name.Class */ 37 | .no { color: #336600 } /* Name.Constant */ 38 | .nd { color: #9999FF } /* Name.Decorator */ 39 | .ni { color: #999999; font-weight: bold } /* Name.Entity */ 40 | .ne { color: #CC0000; font-weight: bold } /* Name.Exception */ 41 | .nf { color: #CC00FF } /* Name.Function */ 42 | .nl { color: #9999FF } /* Name.Label */ 43 | .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */ 44 | .nt { color: #330099; font-weight: bold } /* Name.Tag */ 45 | .nv { color: #003333 } /* Name.Variable */ 46 | .ow { color: #000000; font-weight: bold } /* Operator.Word */ 47 | .w { color: #bbbbbb } /* Text.Whitespace */ 48 | .mf { color: #FF6600 } /* Literal.Number.Float */ 49 | .mh { color: #FF6600 } /* Literal.Number.Hex */ 50 | .mi { color: #FF6600 } /* Literal.Number.Integer */ 51 | .mo { color: #FF6600 } /* Literal.Number.Oct */ 52 | .sb { color: #CC3300 } /* Literal.String.Backtick */ 53 | .sc { color: #CC3300 } /* Literal.String.Char */ 54 | .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ 55 | .s2 { color: #CC3300 } /* Literal.String.Double */ 56 | .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */ 57 | .sh { color: #CC3300 } /* Literal.String.Heredoc */ 58 | .si { color: #AA0000 } /* Literal.String.Interpol */ 59 | .sx { color: #CC3300 } /* Literal.String.Other */ 60 | .sr { color: #33AAAA } /* Literal.String.Regex */ 61 | .s1 { color: #CC3300 } /* Literal.String.Single */ 62 | .ss { color: #FFCC33 } /* Literal.String.Symbol */ 63 | .bp { color: #336666 } /* Name.Builtin.Pseudo */ 64 | .vc { color: #003333 } /* Name.Variable.Class */ 65 | .vg { color: #003333 } /* Name.Variable.Global */ 66 | .vi { color: #003333 } /* Name.Variable.Instance */ 67 | .il { color: #FF6600 } /* Literal.Number.Integer.Long */ 68 | -------------------------------------------------------------------------------- /examples/data/bacon.json: -------------------------------------------------------------------------------- 1 | { 2 | "edges": [ 3 | { 4 | "_source": 13810, 5 | "_target": 630970, 6 | "data": { 7 | "role": "An old steward" 8 | }, 9 | "style": { 10 | "caption": "acted in" 11 | } 12 | }, 13 | { 14 | "_source": 55903, 15 | "_target": 660137, 16 | "data": { 17 | "role": "Naomi Caldwell" 18 | }, 19 | "style": { 20 | "caption": "acted in" 21 | } 22 | }, 23 | { 24 | "_source": 707157, 25 | "_target": 224003, 26 | "data": { 27 | "role": "Mabel Normand" 28 | }, 29 | "style": { 30 | "caption": "acted in" 31 | } 32 | }, 33 | { 34 | "_source": 13810, 35 | "_target": 707157, 36 | "data": { 37 | "role": "Hynkel" 38 | }, 39 | "style": { 40 | "caption": "acted in" 41 | } 42 | }, 43 | { 44 | "_source": 707157, 45 | "_target": 182771, 46 | "data": { 47 | "role": "Mack Sennett" 48 | }, 49 | "style": { 50 | "caption": "acted in" 51 | } 52 | }, 53 | { 54 | "_source": 814132, 55 | "_target": 61016, 56 | "data": { 57 | "role": "Marty" 58 | }, 59 | "style": { 60 | "caption": "acted in" 61 | } 62 | }, 63 | { 64 | "_source": 182771, 65 | "_target": 803447, 66 | "data": { 67 | "role": "Roman Craig" 68 | }, 69 | "style": { 70 | "caption": "acted in" 71 | } 72 | }, 73 | { 74 | "_source": 803447, 75 | "_target": 61016, 76 | "data": { 77 | "role": "Jake Briggs" 78 | }, 79 | "style": { 80 | "caption": "acted in" 81 | } 82 | }, 83 | { 84 | "_source": 814132, 85 | "_target": 61016 86 | }, 87 | { 88 | "_source": 630970, 89 | "_target": 55903, 90 | "data": { 91 | "role": "Martha" 92 | }, 93 | "style": { 94 | "caption": "acted in" 95 | } 96 | }, 97 | { 98 | "_source": 224003, 99 | "_target": 814132, 100 | "data": { 101 | "role": "Sybil" 102 | }, 103 | "style": { 104 | "caption": "acted in" 105 | } 106 | }, 107 | { 108 | "_source": 13810, 109 | "_target": 707157, 110 | "data": { 111 | "role": "The Tramp" 112 | }, 113 | "style": { 114 | "caption": "acted in" 115 | } 116 | }, 117 | { 118 | "_source": 660137, 119 | "_target": 61016, 120 | "data": { 121 | "role": "Carroll Caldwell" 122 | }, 123 | "style": { 124 | "caption": "acted in" 125 | } 126 | }, 127 | { 128 | "_source": 13810, 129 | "_target": 707157, 130 | "data": { 131 | "role": "A Jewish Barber" 132 | }, 133 | "style": { 134 | "caption": "acted in" 135 | } 136 | }, 137 | { 138 | "_source": 607369, 139 | "_target": 61016, 140 | "data": { 141 | "role": "David Lindhagen" 142 | }, 143 | "style": { 144 | "caption": "acted in" 145 | } 146 | }, 147 | { 148 | "_source": 224003, 149 | "_target": 607369, 150 | "data": { 151 | "role": "Kate" 152 | }, 153 | "style": { 154 | "caption": "acted in" 155 | } 156 | }, 157 | { 158 | "_source": 814132, 159 | "_target": 61016 160 | } 161 | ], 162 | "nodes": [ 163 | { 164 | "_id": 55903, 165 | "data": { 166 | "genre": [], 167 | "mid": "/m/01q697", 168 | "name": "Tippi Hedren", 169 | "node_type": "other", 170 | "type": "person" 171 | }, 172 | "style": { 173 | "caption": "Tippi Hedren" 174 | } 175 | }, 176 | { 177 | "_id": 660137, 178 | "data": { 179 | "genre": [ 180 | "Drama" 181 | ], 182 | "mid": "/m/0gw_7xk", 183 | "name": "Jayne Mansfield's Car", 184 | "node_type": "other", 185 | "type": "movie" 186 | }, 187 | "style": { 188 | "caption": "Jayne Mansfield's Car" 189 | } 190 | }, 191 | { 192 | "_id": 13810, 193 | "data": { 194 | "genre": [], 195 | "mid": "/m/01lc5", 196 | "name": "Charlie Chaplin", 197 | "node_type": "root", 198 | "type": "person" 199 | }, 200 | "style": { 201 | "caption": "Charlie Chaplin" 202 | } 203 | }, 204 | { 205 | "_id": 607369, 206 | "data": { 207 | "genre": [ 208 | "Romance Film", 209 | "Romantic comedy", 210 | "Comedy-drama", 211 | "Drama", 212 | "Comedy" 213 | ], 214 | "mid": "/m/0ddf2bm", 215 | "name": "Crazy, Stupid, Love.", 216 | "node_type": "other", 217 | "type": "movie" 218 | }, 219 | "style": { 220 | "caption": "Crazy, Stupid, Love." 221 | } 222 | }, 223 | { 224 | "_id": 630970, 225 | "data": { 226 | "genre": [ 227 | "Romantic comedy", 228 | "Romance Film", 229 | "Comedy" 230 | ], 231 | "mid": "/m/08h1y4", 232 | "name": "A Countess from Hong Kong", 233 | "node_type": "other", 234 | "type": "movie" 235 | }, 236 | "style": { 237 | "caption": "A Countess from Hong Kong" 238 | } 239 | }, 240 | { 241 | "_id": 814132, 242 | "data": { 243 | "genre": [ 244 | "Romance Film", 245 | "Film adaptation", 246 | "Indie film", 247 | "Drama", 248 | "Comedy" 249 | ], 250 | "mid": "/m/0fc42k", 251 | "name": "Loverboy", 252 | "node_type": "other", 253 | "type": "movie" 254 | }, 255 | "style": { 256 | "caption": "Loverboy" 257 | } 258 | }, 259 | { 260 | "_id": 224003, 261 | "data": { 262 | "genre": [], 263 | "mid": "/m/01g257", 264 | "name": "Marisa Tomei", 265 | "node_type": "other", 266 | "type": "person" 267 | }, 268 | "style": { 269 | "caption": "Marisa Tomei" 270 | } 271 | }, 272 | { 273 | "_id": 182771, 274 | "data": { 275 | "genre": [], 276 | "mid": "/m/0d608", 277 | "name": "Dan Aykroyd", 278 | "node_type": "other", 279 | "type": "person" 280 | }, 281 | "style": { 282 | "caption": "Dan Aykroyd" 283 | } 284 | }, 285 | { 286 | "_id": 803447, 287 | "data": { 288 | "genre": [ 289 | "Romance Film", 290 | "Drama", 291 | "Comedy" 292 | ], 293 | "mid": "/m/058kh7", 294 | "name": "She's Having a Baby", 295 | "node_type": "other", 296 | "type": "movie" 297 | }, 298 | "style": { 299 | "caption": "She's Having a Baby" 300 | } 301 | }, 302 | { 303 | "_id": 61016, 304 | "data": { 305 | "genre": [], 306 | "mid": "/m/04954", 307 | "name": "Kevin Bacon", 308 | "node_type": "root", 309 | "type": "person" 310 | }, 311 | "style": { 312 | "caption": "Kevin Bacon" 313 | } 314 | }, 315 | { 316 | "_id": 707157, 317 | "data": { 318 | "genre": [ 319 | "Indie film", 320 | "Biographical film", 321 | "Costume drama", 322 | "Period piece", 323 | "Biography", 324 | "Drama" 325 | ], 326 | "mid": "/m/016z5x", 327 | "name": "Chaplin", 328 | "node_type": "other", 329 | "type": "movie" 330 | }, 331 | "style": { 332 | "caption": "Chaplin" 333 | } 334 | } 335 | ] 336 | } -------------------------------------------------------------------------------- /examples/images/bacon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/examples/images/bacon.png -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /images/body-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/images/body-bg.jpg -------------------------------------------------------------------------------- /images/download-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/images/download-button.png -------------------------------------------------------------------------------- /images/github-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/images/github-button.png -------------------------------------------------------------------------------- /images/header-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/images/header-bg.jpg -------------------------------------------------------------------------------- /images/highlight-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/images/highlight-bg.jpg -------------------------------------------------------------------------------- /images/sidebar-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GraphAlchemist/GraphJSON/6678e4adec4442cd88f5edbd481950bb6736f6e1/images/sidebar-bg.jpg -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: GraphJSON.org 4 | --- 5 | 6 | {% include Home.md %} 7 | 8 | {% include GraphJSON.md %} -------------------------------------------------------------------------------- /js/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.0.3 (http://getbootstrap.com) 3 | * Copyright 2013 Twitter, Inc. 4 | * Licensed under http://www.apache.org/licenses/LICENSE-2.0 5 | */ 6 | 7 | if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]'),b=!0;if(a.length){var c=this.$element.find("input");"radio"===c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?b=!1:a.find(".active").removeClass("active")),b&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}b&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(''}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery); -------------------------------------------------------------------------------- /params.json: -------------------------------------------------------------------------------- 1 | {"name":"Graphjson","tagline":"A standard format for Graph data - GraphJSON. ","body":"GraphJSON\r\n=========\r\n\r\nAll of the GraphJSON file format and specifications are located [here](https://github.com/GraphAlchemist/GraphJSON/wiki)\r\n\r\nSee GraphJSON in action [here](http://graphjson.io/)\r\n\r\nGraphJSON is a standard format for Graph visualization, similiar to GeoJSON, for geographical maps.\r\n\r\nThere are a number of different graph file formats - GEXF, GDF, GML, .csv, Pajek Net, GraphML, etc. For web based graph applications, a standardized graph format is needed so that applications can automatically render graphs with pre-specified layouts, visualization layers, colors, and other attributes.\r\n\r\n\r\n","google":"UA-40694647-4","note":"Don't delete this file! It's used internally to help with page regeneration."} --------------------------------------------------------------------------------