solidus_graphql_api 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (282) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +43 -67
  3. data/.github/dependabot.yml +23 -0
  4. data/.github/stale.yml +3 -3
  5. data/.github_changelog_generator +2 -0
  6. data/.rubocop.yml +10 -4
  7. data/CHANGELOG.md +4 -0
  8. data/CONTRIBUTING.md +5 -5
  9. data/Gemfile +1 -1
  10. data/Gemfile-local +1 -0
  11. data/LICENSE +1 -1
  12. data/OLD_CHANGELOG.md +170 -0
  13. data/README.md +26 -10
  14. data/Rakefile +22 -7
  15. data/app/assets/javascripts/spree/backend/solidus_graphql_api.js +2 -0
  16. data/app/assets/javascripts/spree/frontend/solidus_graphql_api.js +2 -0
  17. data/app/assets/stylesheets/spree/backend/solidus_graphql_api.css +4 -0
  18. data/app/assets/stylesheets/spree/frontend/solidus_graphql_api.css +4 -0
  19. data/app/controllers/spree/graphql_controller.rb +2 -0
  20. data/bin/console +2 -2
  21. data/bin/rails +0 -2
  22. data/bin/rails-engine +0 -3
  23. data/bin/rails-sandbox +1 -3
  24. data/bin/rake +0 -1
  25. data/bin/sandbox +5 -7
  26. data/docs/assets/images/graphiql-headers.png +0 -0
  27. data/docs/assets/images/graphiql-variables.png +0 -0
  28. data/docs/assets/images/graphiql.png +0 -0
  29. data/docs/assets/images/menu.png +0 -0
  30. data/docs/assets/images/navbar.png +0 -0
  31. data/docs/assets/style.css +1115 -0
  32. data/docs/assets/webfonts/2C4B9D_B_0.eot +0 -0
  33. data/docs/assets/webfonts/2C4B9D_B_0.ttf +0 -0
  34. data/docs/assets/webfonts/2C4B9D_B_0.woff +0 -0
  35. data/docs/assets/webfonts/2C4B9D_B_0.woff2 +0 -0
  36. data/docs/assets/webfonts/2C4B9D_C_0.eot +0 -0
  37. data/docs/assets/webfonts/2C4B9D_C_0.ttf +0 -0
  38. data/docs/assets/webfonts/2C4B9D_C_0.woff +0 -0
  39. data/docs/assets/webfonts/2C4B9D_C_0.woff2 +0 -0
  40. data/docs/assets/webfonts/2C4B9D_D_0.eot +0 -0
  41. data/docs/assets/webfonts/2C4B9D_D_0.ttf +0 -0
  42. data/docs/assets/webfonts/2C4B9D_D_0.woff +0 -0
  43. data/docs/assets/webfonts/2C4B9D_D_0.woff2 +0 -0
  44. data/docs/assets/webfonts/2C4B9D_E_0.eot +0 -0
  45. data/docs/assets/webfonts/2C4B9D_E_0.ttf +0 -0
  46. data/docs/assets/webfonts/2C4B9D_E_0.woff +0 -0
  47. data/docs/assets/webfonts/2C4B9D_E_0.woff2 +0 -0
  48. data/docs/directive/deprecated/index.html +1142 -0
  49. data/docs/directive/include/index.html +1141 -0
  50. data/docs/directive/index.html +1113 -0
  51. data/docs/directive/skip/index.html +1141 -0
  52. data/docs/enum/__directivelocation/index.html +1204 -0
  53. data/docs/enum/__typekind/index.html +1154 -0
  54. data/docs/enum/addresstypeinput/index.html +1121 -0
  55. data/docs/enum/index.html +1113 -0
  56. data/docs/index.html +1122 -0
  57. data/docs/input_object/addaddressestocheckoutinput/index.html +1135 -0
  58. data/docs/input_object/addpaymenttocheckoutinput/index.html +1135 -0
  59. data/docs/input_object/addressinput/index.html +1169 -0
  60. data/docs/input_object/addtocartinput/index.html +1130 -0
  61. data/docs/input_object/advancecheckoutinput/index.html +1120 -0
  62. data/docs/input_object/applycouponcodeinput/index.html +1125 -0
  63. data/docs/input_object/completecheckoutinput/index.html +1120 -0
  64. data/docs/input_object/createorderinput/index.html +1120 -0
  65. data/docs/input_object/emptycartinput/index.html +1120 -0
  66. data/docs/input_object/index.html +1113 -0
  67. data/docs/input_object/markdefaultshipaddressinput/index.html +1125 -0
  68. data/docs/input_object/nextcheckoutstateinput/index.html +1120 -0
  69. data/docs/input_object/productsqueryinput/index.html +1132 -0
  70. data/docs/input_object/removefromaddressbookinput/index.html +1125 -0
  71. data/docs/input_object/removefromcartinput/index.html +1125 -0
  72. data/docs/input_object/saveinaddressbookinput/index.html +1135 -0
  73. data/docs/input_object/selectshippingrateinput/index.html +1125 -0
  74. data/docs/input_object/setorderemailinput/index.html +1125 -0
  75. data/docs/input_object/updatecartquantityinput/index.html +1130 -0
  76. data/docs/interface/adjustment/index.html +1145 -0
  77. data/docs/interface/index.html +1113 -0
  78. data/docs/interface/node/index.html +1151 -0
  79. data/docs/interface/paymentsource/index.html +1134 -0
  80. data/docs/mutation/addaddressestocheckout/index.html +1137 -0
  81. data/docs/mutation/addpaymenttocheckout/index.html +1137 -0
  82. data/docs/mutation/addtocart/index.html +1137 -0
  83. data/docs/mutation/advancecheckout/index.html +1137 -0
  84. data/docs/mutation/applycouponcode/index.html +1137 -0
  85. data/docs/mutation/completecheckout/index.html +1137 -0
  86. data/docs/mutation/createorder/index.html +1137 -0
  87. data/docs/mutation/emptycart/index.html +1137 -0
  88. data/docs/mutation/markdefaultshipaddress/index.html +1132 -0
  89. data/docs/mutation/nextcheckoutstate/index.html +1137 -0
  90. data/docs/mutation/removefromaddressbook/index.html +1132 -0
  91. data/docs/mutation/removefromcart/index.html +1137 -0
  92. data/docs/mutation/saveinaddressbook/index.html +1137 -0
  93. data/docs/mutation/selectshippingrate/index.html +1137 -0
  94. data/docs/mutation/setorderemail/index.html +1137 -0
  95. data/docs/mutation/updatecartquantity/index.html +1137 -0
  96. data/docs/object/__directive/index.html +1182 -0
  97. data/docs/object/__enumvalue/index.html +1134 -0
  98. data/docs/object/__field/index.html +1164 -0
  99. data/docs/object/__inputvalue/index.html +1145 -0
  100. data/docs/object/__schema/index.html +1144 -0
  101. data/docs/object/__type/index.html +1220 -0
  102. data/docs/object/addaddressestocheckoutpayload/index.html +1130 -0
  103. data/docs/object/addpaymenttocheckoutpayload/index.html +1130 -0
  104. data/docs/object/address/index.html +1189 -0
  105. data/docs/object/addressconnection/index.html +1132 -0
  106. data/docs/object/addressedge/index.html +1126 -0
  107. data/docs/object/addtocartpayload/index.html +1130 -0
  108. data/docs/object/adjustmentconnection/index.html +1132 -0
  109. data/docs/object/adjustmentedge/index.html +1126 -0
  110. data/docs/object/advancecheckoutpayload/index.html +1130 -0
  111. data/docs/object/applycouponcodepayload/index.html +1130 -0
  112. data/docs/object/completecheckoutpayload/index.html +1130 -0
  113. data/docs/object/country/index.html +1218 -0
  114. data/docs/object/countryconnection/index.html +1132 -0
  115. data/docs/object/countryedge/index.html +1126 -0
  116. data/docs/object/createorderpayload/index.html +1130 -0
  117. data/docs/object/creditcard/index.html +1170 -0
  118. data/docs/object/currency/index.html +1144 -0
  119. data/docs/object/currencyconnection/index.html +1132 -0
  120. data/docs/object/currencyedge/index.html +1126 -0
  121. data/docs/object/emptycartpayload/index.html +1130 -0
  122. data/docs/object/image/index.html +1169 -0
  123. data/docs/object/imageconnection/index.html +1132 -0
  124. data/docs/object/imageedge/index.html +1126 -0
  125. data/docs/object/index.html +1113 -0
  126. data/docs/object/lineitem/index.html +1184 -0
  127. data/docs/object/lineitemconnection/index.html +1132 -0
  128. data/docs/object/lineitemedge/index.html +1126 -0
  129. data/docs/object/manifestitem/index.html +1124 -0
  130. data/docs/object/markdefaultshipaddresspayload/index.html +1125 -0
  131. data/docs/object/nextcheckoutstatepayload/index.html +1130 -0
  132. data/docs/object/optiontype/index.html +1203 -0
  133. data/docs/object/optiontypeconnection/index.html +1132 -0
  134. data/docs/object/optiontypeedge/index.html +1126 -0
  135. data/docs/object/optionvalue/index.html +1154 -0
  136. data/docs/object/optionvalueconnection/index.html +1132 -0
  137. data/docs/object/optionvalueedge/index.html +1126 -0
  138. data/docs/object/order/index.html +1412 -0
  139. data/docs/object/orderconnection/index.html +1132 -0
  140. data/docs/object/orderedge/index.html +1126 -0
  141. data/docs/object/pageinfo/index.html +1138 -0
  142. data/docs/object/payment/index.html +1149 -0
  143. data/docs/object/paymentmethod/index.html +1149 -0
  144. data/docs/object/price/index.html +1159 -0
  145. data/docs/object/priceconnection/index.html +1132 -0
  146. data/docs/object/priceedge/index.html +1126 -0
  147. data/docs/object/product/index.html +1327 -0
  148. data/docs/object/productconnection/index.html +1132 -0
  149. data/docs/object/productedge/index.html +1126 -0
  150. data/docs/object/productproperty/index.html +1149 -0
  151. data/docs/object/productpropertyconnection/index.html +1132 -0
  152. data/docs/object/productpropertyedge/index.html +1126 -0
  153. data/docs/object/promotionadjustment/index.html +1155 -0
  154. data/docs/object/property/index.html +1144 -0
  155. data/docs/object/removefromaddressbookpayload/index.html +1125 -0
  156. data/docs/object/removefromcartpayload/index.html +1130 -0
  157. data/docs/object/saveinaddressbookpayload/index.html +1130 -0
  158. data/docs/object/selectshippingratepayload/index.html +1130 -0
  159. data/docs/object/setorderemailpayload/index.html +1130 -0
  160. data/docs/object/shipment/index.html +1218 -0
  161. data/docs/object/shipmentconnection/index.html +1132 -0
  162. data/docs/object/shipmentedge/index.html +1126 -0
  163. data/docs/object/shippingmethod/index.html +1174 -0
  164. data/docs/object/shippingrate/index.html +1154 -0
  165. data/docs/object/shippingrateconnection/index.html +1132 -0
  166. data/docs/object/shippingrateedge/index.html +1126 -0
  167. data/docs/object/state/index.html +1144 -0
  168. data/docs/object/stateconnection/index.html +1132 -0
  169. data/docs/object/stateedge/index.html +1126 -0
  170. data/docs/object/store/index.html +1238 -0
  171. data/docs/object/taxadjustment/index.html +1150 -0
  172. data/docs/object/taxon/index.html +1228 -0
  173. data/docs/object/taxonconnection/index.html +1132 -0
  174. data/docs/object/taxonedge/index.html +1126 -0
  175. data/docs/object/taxonomy/index.html +1198 -0
  176. data/docs/object/taxonomyconnection/index.html +1132 -0
  177. data/docs/object/taxonomyedge/index.html +1126 -0
  178. data/docs/object/updatecartquantitypayload/index.html +1130 -0
  179. data/docs/object/user/index.html +1280 -0
  180. data/docs/object/usererror/index.html +1126 -0
  181. data/docs/object/variant/index.html +1332 -0
  182. data/docs/object/variantconnection/index.html +1132 -0
  183. data/docs/object/variantedge/index.html +1126 -0
  184. data/docs/object/walletpaymentsource/index.html +1144 -0
  185. data/docs/object/walletpaymentsourceconnection/index.html +1132 -0
  186. data/docs/object/walletpaymentsourceedge/index.html +1126 -0
  187. data/docs/operation/mutation/index.html +1114 -0
  188. data/docs/operation/query/index.html +1431 -0
  189. data/docs/scalar/boolean/index.html +1112 -0
  190. data/docs/scalar/float/index.html +1112 -0
  191. data/docs/scalar/id/index.html +1112 -0
  192. data/docs/scalar/index.html +1113 -0
  193. data/docs/scalar/int/index.html +1112 -0
  194. data/docs/scalar/iso8601datetime/index.html +1112 -0
  195. data/docs/scalar/json/index.html +1112 -0
  196. data/docs/scalar/string/index.html +1112 -0
  197. data/docs/union/index.html +1113 -0
  198. data/lib/generators/solidus_graphql_api/install/install_generator.rb +19 -0
  199. data/lib/generators/solidus_graphql_api/install/templates/initializer.rb +6 -0
  200. data/lib/graphql_docs/landing_pages/index.md +16 -0
  201. data/lib/solidus_graphql_api/batch_loader/has_many_through.rb +1 -0
  202. data/lib/solidus_graphql_api/batch_loader.rb +1 -1
  203. data/lib/solidus_graphql_api/configuration.rb +12 -8
  204. data/lib/solidus_graphql_api/context.rb +8 -2
  205. data/lib/solidus_graphql_api/engine.rb +2 -2
  206. data/lib/solidus_graphql_api/mutations/base_mutation.rb +3 -3
  207. data/lib/solidus_graphql_api/mutations/checkout/add_payment_to_checkout.rb +1 -1
  208. data/lib/solidus_graphql_api/mutations/user/{mark_default_address.rb → mark_default_ship_address.rb} +2 -2
  209. data/lib/solidus_graphql_api/mutations/user/save_in_address_book.rb +8 -2
  210. data/lib/solidus_graphql_api/queries/option_value/option_type_query.rb +19 -0
  211. data/lib/solidus_graphql_api/queries/shipping_rate/shipping_method_query.rb +19 -0
  212. data/lib/solidus_graphql_api/queries/taxon/children_query.rb +1 -1
  213. data/lib/solidus_graphql_api/queries/taxonomy/taxons_query.rb +1 -1
  214. data/lib/solidus_graphql_api/queries/variant/default_price_query.rb +1 -1
  215. data/lib/solidus_graphql_api/{factories → testing_support/factories}/address_factory.rb +1 -2
  216. data/lib/solidus_graphql_api/{factories → testing_support/factories}/taxonomy_factory.rb +10 -0
  217. data/lib/solidus_graphql_api/testing_support/factories.rb +9 -0
  218. data/lib/solidus_graphql_api/types/address.rb +1 -2
  219. data/lib/solidus_graphql_api/types/base/relay_node.rb +1 -1
  220. data/lib/solidus_graphql_api/types/input_objects/address_input.rb +1 -2
  221. data/lib/solidus_graphql_api/types/json.rb +6 -3
  222. data/lib/solidus_graphql_api/types/mutation.rb +1 -1
  223. data/lib/solidus_graphql_api/types/option_value.rb +5 -0
  224. data/lib/solidus_graphql_api/types/query.rb +2 -2
  225. data/lib/solidus_graphql_api/types/shipping_method.rb +20 -0
  226. data/lib/solidus_graphql_api/types/shipping_rate.rb +5 -0
  227. data/lib/solidus_graphql_api/types/user.rb +1 -1
  228. data/lib/solidus_graphql_api/version.rb +1 -1
  229. data/lib/solidus_graphql_api.rb +0 -3
  230. data/schema.graphql +128 -26
  231. data/solidus_graphql_api.gemspec +12 -12
  232. data/spec/integration/mutations/checkout/add_addresses_to_checkout_spec.rb +13 -19
  233. data/spec/integration/mutations/checkout/apply_coupon_code_spec.rb +3 -1
  234. data/spec/integration/mutations/{mark_default_address_spec.rb → mark_default_ship_address_spec.rb} +5 -5
  235. data/spec/integration/mutations/remove_from_address_book_spec.rb +4 -4
  236. data/spec/integration/mutations/save_in_address_book_spec.rb +25 -12
  237. data/spec/integration/queries/completed_orders_spec.rb +19 -15
  238. data/spec/integration/queries/countries_spec.rb +2 -2
  239. data/spec/integration/queries/current_order_spec.rb +4 -1
  240. data/spec/integration/queries/current_store_spec.rb +1 -1
  241. data/spec/integration/queries/current_user_spec.rb +7 -2
  242. data/spec/integration/queries/products_spec.rb +4 -1
  243. data/spec/integration/queries/taxonomies_spec.rb +12 -4
  244. data/spec/integration/types/json_spec.rb +17 -0
  245. data/spec/lib/solidus_graphql_api/batch_loader/belongs_to_spec.rb +24 -25
  246. data/spec/lib/solidus_graphql_api/batch_loader/has_many_spec.rb +17 -15
  247. data/spec/lib/solidus_graphql_api/batch_loader/has_many_through_spec.rb +42 -25
  248. data/spec/lib/solidus_graphql_api/batch_loader/has_one_spec.rb +17 -15
  249. data/spec/lib/solidus_graphql_api/context_spec.rb +119 -6
  250. data/spec/lib/solidus_graphql_api/queries/option_value/option_type_query_spec.rb +10 -0
  251. data/spec/lib/solidus_graphql_api/queries/shipping_rate/shipping_method_query_spec.rb +11 -0
  252. data/spec/lib/solidus_graphql_api/queries/taxon/children_query_spec.rb +9 -5
  253. data/spec/lib/solidus_graphql_api/queries/taxonomy/taxons_query_spec.rb +8 -5
  254. data/spec/lib/solidus_graphql_api/queries/variant/default_price_query_spec.rb +1 -1
  255. data/spec/lib/solidus_graphql_api/types/base/object_spec.rb +5 -1
  256. data/spec/lib/solidus_graphql_api/types/json_spec.rb +2 -1
  257. data/spec/lib/solidus_graphql_api/types/option_value_spec.rb +22 -0
  258. data/spec/lib/solidus_graphql_api/types/product_spec.rb +3 -1
  259. data/spec/lib/solidus_graphql_api/types/query_spec.rb +3 -1
  260. data/spec/lib/solidus_graphql_api/types/shipping_rate_spec.rb +22 -0
  261. data/spec/requests/spree/graphql_controller_spec.rb +15 -2
  262. data/spec/spec_helper.rb +20 -12
  263. data/spec/support/expected_schema.graphql +128 -26
  264. data/spec/support/graphql/mutations/add_addresses_to_checkout.gql +2 -2
  265. data/spec/support/graphql/mutations/mark_default_ship_address.gql +9 -0
  266. data/spec/support/graphql/mutations/remove_from_address_book.gql +1 -1
  267. data/spec/support/graphql/mutations/save_in_address_book.gql +6 -5
  268. data/spec/support/graphql/queries/completed_orders/billing_address.gql +1 -2
  269. data/spec/support/graphql/queries/completed_orders/shipping_address.gql +1 -2
  270. data/spec/support/graphql/queries/current_user.gql +6 -11
  271. data/spec/support/graphql/responses/completed_orders/billing_address.json.erb +2 -4
  272. data/spec/support/graphql/responses/completed_orders/shipping_address.json.erb +2 -4
  273. data/spec/support/graphql/responses/current_store.json.erb +1 -1
  274. data/spec/support/graphql/responses/current_user.json.erb +7 -13
  275. data/spec/support/graphql/responses/taxonomies.json.erb +7 -7
  276. data/spec/support/helpers/active_record.rb +18 -0
  277. data/spec/support/helpers/graphql.rb +4 -4
  278. metadata +245 -54
  279. data/lib/solidus_graphql_api/factories.rb +0 -11
  280. data/spec/support/graphql/mutations/mark_default_address.gql +0 -9
  281. /data/lib/solidus_graphql_api/{factories → testing_support/factories}/country_factory.rb +0 -0
  282. /data/lib/solidus_graphql_api/{factories → testing_support/factories}/store_factory.rb +0 -0
@@ -0,0 +1,1115 @@
1
+ @import "//hello.myfonts.net/count/2c4b9d";
2
+ * {
3
+ box-sizing: border-box; }
4
+
5
+ html,
6
+ body,
7
+ div,
8
+ span,
9
+ applet,
10
+ object,
11
+ iframe,
12
+ h1,
13
+ h2,
14
+ h3,
15
+ h4,
16
+ h5,
17
+ h6,
18
+ p,
19
+ blockquote,
20
+ pre,
21
+ a,
22
+ abbr,
23
+ acronym,
24
+ address,
25
+ big,
26
+ cite,
27
+ code,
28
+ del,
29
+ dfn,
30
+ em,
31
+ img,
32
+ ins,
33
+ kbd,
34
+ q,
35
+ s,
36
+ samp,
37
+ small,
38
+ strike,
39
+ strong,
40
+ sub,
41
+ sup,
42
+ tt,
43
+ var,
44
+ b,
45
+ u,
46
+ i,
47
+ center,
48
+ dl,
49
+ dt,
50
+ dd,
51
+ ol,
52
+ ul,
53
+ li,
54
+ fieldset,
55
+ form,
56
+ label,
57
+ legend,
58
+ table,
59
+ caption,
60
+ tbody,
61
+ tfoot,
62
+ thead,
63
+ tr,
64
+ th,
65
+ td,
66
+ article,
67
+ aside,
68
+ canvas,
69
+ details,
70
+ embed,
71
+ figure,
72
+ figcaption,
73
+ footer,
74
+ header,
75
+ hgroup,
76
+ menu,
77
+ nav,
78
+ output,
79
+ ruby,
80
+ section,
81
+ summary,
82
+ time,
83
+ mark,
84
+ audio,
85
+ video {
86
+ margin: 0;
87
+ padding: 0;
88
+ border: 0;
89
+ font-size: 100%;
90
+ font: inherit;
91
+ vertical-align: baseline; }
92
+
93
+ /* HTML5 display-role reset for older browsers */
94
+ article,
95
+ aside,
96
+ details,
97
+ figcaption,
98
+ figure,
99
+ footer,
100
+ header,
101
+ hgroup,
102
+ menu,
103
+ nav,
104
+ section {
105
+ display: block; }
106
+
107
+ body {
108
+ line-height: 1; }
109
+
110
+ ol,
111
+ ul {
112
+ list-style: none; }
113
+
114
+ blockquote,
115
+ q {
116
+ quotes: none; }
117
+
118
+ blockquote:before,
119
+ blockquote:after,
120
+ q:before,
121
+ q:after {
122
+ content: '';
123
+ content: none; }
124
+
125
+ table {
126
+ border-collapse: collapse;
127
+ border-spacing: 0; }
128
+
129
+ @font-face {
130
+ font-family: 'ProximaNova-Light';
131
+ src: url("webfonts/2C4B9D_B_0.eot");
132
+ src: url("webfonts/2C4B9D_B_0.eot?#iefix") format("embedded-opentype"), url("webfonts/2C4B9D_B_0.woff2") format("woff2"), url("webfonts/2C4B9D_B_0.woff") format("woff"), url("webfonts/2C4B9D_B_0.ttf") format("truetype"); }
133
+ @font-face {
134
+ font-family: 'ProximaNova-Semibold';
135
+ src: url("webfonts/2C4B9D_C_0.eot");
136
+ src: url("webfonts/2C4B9D_C_0.eot?#iefix") format("embedded-opentype"), url("webfonts/2C4B9D_C_0.woff2") format("woff2"), url("webfonts/2C4B9D_C_0.woff") format("woff"), url("webfonts/2C4B9D_C_0.ttf") format("truetype"); }
137
+ @font-face {
138
+ font-family: 'ProximaNova-Regular';
139
+ src: url("webfonts/2C4B9D_D_0.eot");
140
+ src: url("webfonts/2C4B9D_D_0.eot?#iefix") format("embedded-opentype"), url("webfonts/2C4B9D_D_0.woff2") format("woff2"), url("webfonts/2C4B9D_D_0.woff") format("woff"), url("webfonts/2C4B9D_D_0.ttf") format("truetype"); }
141
+ @font-face {
142
+ font-family: 'ProximaNova-Bold';
143
+ src: url("webfonts/2C4B9D_E_0.eot");
144
+ src: url("webfonts/2C4B9D_E_0.eot?#iefix") format("embedded-opentype"), url("webfonts/2C4B9D_E_0.woff2") format("woff2"), url("webfonts/2C4B9D_E_0.woff") format("woff"), url("webfonts/2C4B9D_E_0.ttf") format("truetype"); }
145
+ body {
146
+ font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
147
+ -webkit-font-smoothing: antialiased;
148
+ -moz-osx-font-smoothing: grayscale;
149
+ font-size: 16px;
150
+ font-weight: 400;
151
+ color: #444; }
152
+
153
+ h1,
154
+ h2,
155
+ h3,
156
+ h4,
157
+ h5,
158
+ h6 {
159
+ font-family: 'ProximaNova-Semibold';
160
+ font-weight: 200; }
161
+
162
+ em {
163
+ font-style: italic; }
164
+
165
+ #wrap {
166
+ padding-top: 100px;
167
+ padding-left: 300px;
168
+ height: 100%; }
169
+
170
+ #header {
171
+ position: fixed;
172
+ z-index: 2;
173
+ top: 0;
174
+ left: 0;
175
+ width: 100%;
176
+ height: 100px;
177
+ font-family: 'ProximaNova-Semibold'; }
178
+
179
+ #top-nav {
180
+ height: 30px;
181
+ line-height: 30px;
182
+ background-color: #27272b; }
183
+ #top-nav a {
184
+ text-decoration: none; }
185
+
186
+ #top-nav-links {
187
+ list-style-type: none;
188
+ position: absolute;
189
+ top: 0;
190
+ right: 30px; }
191
+ #top-nav-links li {
192
+ float: left;
193
+ margin-left: 20px; }
194
+ #top-nav-links a {
195
+ display: inline-block;
196
+ height: 30px;
197
+ padding: 0 5px;
198
+ color: #fff;
199
+ font-size: 10px;
200
+ letter-spacing: 1.5px;
201
+ text-transform: uppercase; }
202
+
203
+ #site-nav {
204
+ position: relative;
205
+ height: 70px;
206
+ background-color: #fff;
207
+ border-bottom: 1px solid #eee;
208
+ padding: 14px 30px; }
209
+ #site-nav a {
210
+ vertical-align: bottom; }
211
+ #site-nav span {
212
+ vertical-align: bottom; }
213
+ #site-nav select {
214
+ vertical-align: bottom; }
215
+ #site-nav .sub-title {
216
+ margin: 0 8px;
217
+ position: relative;
218
+ top: 1px; }
219
+ #site-nav .logo img {
220
+ height: 50px;
221
+ margin-bottom: -20px; }
222
+ #site-nav .search-box {
223
+ position: absolute;
224
+ right: 30px;
225
+ top: 20px; }
226
+
227
+ #sidebar {
228
+ background-color: #fff;
229
+ position: fixed;
230
+ z-index: 2;
231
+ top: 30px;
232
+ left: 0;
233
+ bottom: 0;
234
+ width: 300px;
235
+ padding: 20px 30px;
236
+ overflow-x: hidden;
237
+ overflow-y: scroll;
238
+ -webkit-overflow-scrolling: touch;
239
+ -ms-overflow-style: none;
240
+ font-family: 'ProximaNova-Semibold';
241
+ border-right: 1px solid #eee;
242
+ font-size: 16px;
243
+ line-height: 1.1em; }
244
+ #sidebar::-webkit-scrollbar {
245
+ width: 0 !important; }
246
+ #sidebar li {
247
+ margin-bottom: 0.6em; }
248
+ #sidebar a {
249
+ color: #444;
250
+ text-decoration: none; }
251
+ #sidebar a:hover {
252
+ color: #de4f4f; }
253
+ #sidebar a.current {
254
+ color: #de4f4f; }
255
+ #sidebar a.H2 {
256
+ font-weight: bold; }
257
+ #sidebar .categories > li > p {
258
+ margin-top: 1.5em;
259
+ border-top: 1px solid #eee;
260
+ text-transform: uppercase;
261
+ padding-top: 1.2em;
262
+ margin-bottom: 1em;
263
+ color: #999;
264
+ font-size: 0.8em; }
265
+ #sidebar .sub-menu {
266
+ font-family: 'ProximaNova-Regular';
267
+ padding-left: 20px;
268
+ margin: 0.6em 0;
269
+ font-size: 14px; }
270
+ #sidebar .sub-menu .active {
271
+ position: relative;
272
+ color: #de4f4f; }
273
+ #sidebar .sub-menu .active:before {
274
+ content: "";
275
+ position: absolute;
276
+ top: 2px;
277
+ left: -15px;
278
+ display: inline-block;
279
+ width: 0;
280
+ height: 0;
281
+ border-top: 4px solid transparent;
282
+ border-bottom: 4px solid transparent;
283
+ border-left: 6px solid #de4f4f; }
284
+
285
+ #sidebar-mobile {
286
+ display: none;
287
+ margin-bottom: 20px; }
288
+ #sidebar-mobile .search-box {
289
+ width: 200px;
290
+ margin-bottom: 20px; }
291
+
292
+ #content {
293
+ padding: 20px 30px;
294
+ max-width: 760px;
295
+ margin: 0px auto;
296
+ -webkit-text-size-adjust: 100%; }
297
+ #content em {
298
+ font-style: italic; }
299
+ #content strong {
300
+ font-family: 'ProximaNova-Bold'; }
301
+ #content h1 {
302
+ margin: 15px 0;
303
+ line-height: 1.4em;
304
+ font-size: 2em;
305
+ margin-top: 0;
306
+ margin-bottom: 30px; }
307
+ #content h2 {
308
+ margin: 15px 0;
309
+ line-height: 1.4em;
310
+ font-size: 1.5em;
311
+ margin-top: 30px;
312
+ padding-bottom: 10px;
313
+ border-bottom: 1px solid #eee;
314
+ position: relative; }
315
+ #content h2 .anchor {
316
+ opacity: 0;
317
+ position: absolute;
318
+ font-size: 16px;
319
+ top: 2px;
320
+ left: -21px; }
321
+ #content h2:hover .anchor {
322
+ opacity: 1; }
323
+ #content h3 {
324
+ margin: 15px 0;
325
+ line-height: 1.4em;
326
+ font-size: 1.2em;
327
+ margin-top: 30px;
328
+ position: relative; }
329
+ #content h3 .anchor {
330
+ opacity: 0;
331
+ position: absolute;
332
+ font-size: 16px;
333
+ top: 2px;
334
+ left: -21px; }
335
+ #content h3:hover .anchor {
336
+ opacity: 1; }
337
+ #content h4 {
338
+ margin: 15px 0;
339
+ line-height: 1.4em; }
340
+ #content h5 {
341
+ margin: 15px 0;
342
+ line-height: 1.4em; }
343
+ #content h6 {
344
+ margin: 15px 0;
345
+ line-height: 1.4em; }
346
+ #content p {
347
+ margin: 15px 0;
348
+ line-height: 1.4em; }
349
+ #content ul {
350
+ margin: 15px 0;
351
+ line-height: 1.4em;
352
+ padding-left: 1.5em;
353
+ list-style-type: disc; }
354
+ #content ul li {
355
+ margin-bottom: 5px; }
356
+ #content ol {
357
+ margin: 15px 0;
358
+ line-height: 1.4em;
359
+ padding-left: 1.5em;
360
+ list-style-type: decimal; }
361
+ #content ol li {
362
+ margin-bottom: 5px; }
363
+ #content figure {
364
+ margin: 15px 0;
365
+ line-height: 1.4em; }
366
+ #content a {
367
+ color: #de4f4f; }
368
+ #content img {
369
+ max-width: 100%; }
370
+ #content code {
371
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
372
+ font-size: 0.8em;
373
+ line-height: 1.6em;
374
+ padding: 1px 4px;
375
+ background-color: #eee;
376
+ margin: 0 2px; }
377
+ #content blockquote {
378
+ padding-left: 1.3em;
379
+ border-left: #eee solid 0.2em;
380
+ font-style: italic; }
381
+ #content blockquote.warning {
382
+ border-color: #f00;
383
+ color: #f00; }
384
+ #content dl {
385
+ margin-left: 1.5em; }
386
+ #content dl dt .name {
387
+ font-family: monospace; }
388
+ #content dl dt .type {
389
+ margin-left: 0.5em; }
390
+ #content dl dd {
391
+ margin-left: 1.5em; }
392
+ #content .edit-discuss-links {
393
+ margin-top: -25px;
394
+ margin-bottom: 40px; }
395
+ #content table {
396
+ margin-top: 10px; }
397
+ #content table th {
398
+ text-align: left;
399
+ padding: 0 25px 0 25px; }
400
+ #content table thead th:first-child {
401
+ padding: 0; }
402
+ #content table td p {
403
+ padding: 0 25px 0 25px; }
404
+ #content pre {
405
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
406
+ line-height: 1.6em;
407
+ margin: 20px 0;
408
+ overflow-x: auto;
409
+ position: relative;
410
+ padding: 20px 30px; }
411
+ #content pre table {
412
+ width: 100%;
413
+ border-collapse: collapse;
414
+ padding: 0;
415
+ margin: 0; }
416
+ #content pre tr {
417
+ width: 100%;
418
+ border-collapse: collapse;
419
+ padding: 0;
420
+ margin: 0; }
421
+ #content pre td {
422
+ width: 100%;
423
+ border-collapse: collapse;
424
+ padding: 0;
425
+ margin: 0; }
426
+ #content pre code {
427
+ background-color: #272822;
428
+ padding: 0;
429
+ margin: 0; }
430
+ #content pre .gutter {
431
+ user-select: none;
432
+ width: 1.5em;
433
+ padding-right: 30px; }
434
+ #content .highlight.html .code:after {
435
+ font-family: 'ProximaNova-Semibold';
436
+ position: absolute;
437
+ top: 0;
438
+ right: 0;
439
+ color: #ccc;
440
+ text-align: right;
441
+ font-size: 0.75em;
442
+ padding: 5px 10px 0;
443
+ letter-spacing: 1.5px;
444
+ line-height: 15px;
445
+ height: 15px;
446
+ font-weight: 600; }
447
+ #content .highlight.js .code:after {
448
+ font-family: 'ProximaNova-Semibold';
449
+ position: absolute;
450
+ top: 0;
451
+ right: 0;
452
+ color: #ccc;
453
+ text-align: right;
454
+ font-size: 0.75em;
455
+ padding: 5px 10px 0;
456
+ letter-spacing: 1.5px;
457
+ line-height: 15px;
458
+ height: 15px;
459
+ font-weight: 600; }
460
+ #content .highlight.bash .code:after {
461
+ font-family: 'ProximaNova-Semibold';
462
+ position: absolute;
463
+ top: 0;
464
+ right: 0;
465
+ color: #ccc;
466
+ text-align: right;
467
+ font-size: 0.75em;
468
+ padding: 5px 10px 0;
469
+ letter-spacing: 1.5px;
470
+ line-height: 15px;
471
+ height: 15px;
472
+ font-weight: 600; }
473
+ #content .highlight.css .code:after {
474
+ font-family: 'ProximaNova-Semibold';
475
+ position: absolute;
476
+ top: 0;
477
+ right: 0;
478
+ color: #ccc;
479
+ text-align: right;
480
+ font-size: 0.75em;
481
+ padding: 5px 10px 0;
482
+ letter-spacing: 1.5px;
483
+ line-height: 15px;
484
+ height: 15px;
485
+ font-weight: 600; }
486
+ #content .highlight.jsx .code:after {
487
+ font-family: 'ProximaNova-Semibold';
488
+ position: absolute;
489
+ top: 0;
490
+ right: 0;
491
+ color: #ccc;
492
+ text-align: right;
493
+ font-size: 0.75em;
494
+ padding: 5px 10px 0;
495
+ letter-spacing: 1.5px;
496
+ line-height: 15px;
497
+ height: 15px;
498
+ font-weight: 600; }
499
+ #content .highlight.html.html .code:after {
500
+ content: 'HTML'; }
501
+ #content .highlight.js.html .code:after {
502
+ content: 'HTML'; }
503
+ #content .highlight.bash.html .code:after {
504
+ content: 'HTML'; }
505
+ #content .highlight.css.html .code:after {
506
+ content: 'HTML'; }
507
+ #content .highlight.jsx.html .code:after {
508
+ content: 'HTML'; }
509
+ #content .highlight.html.js .code:after {
510
+ content: 'JS'; }
511
+ #content .highlight.js.js .code:after {
512
+ content: 'JS'; }
513
+ #content .highlight.bash.js .code:after {
514
+ content: 'JS'; }
515
+ #content .highlight.css.js .code:after {
516
+ content: 'JS'; }
517
+ #content .highlight.jsx.js .code:after {
518
+ content: 'JS'; }
519
+ #content .highlight.html.bash .code:after {
520
+ content: 'Shell'; }
521
+ #content .highlight.js.bash .code:after {
522
+ content: 'Shell'; }
523
+ #content .highlight.bash.bash .code:after {
524
+ content: 'Shell'; }
525
+ #content .highlight.css.bash .code:after {
526
+ content: 'Shell'; }
527
+ #content .highlight.jsx.bash .code:after {
528
+ content: 'Shell'; }
529
+ #content .highlight.html.css .code:after {
530
+ content: 'CSS'; }
531
+ #content .highlight.js.css .code:after {
532
+ content: 'CSS'; }
533
+ #content .highlight.bash.css .code:after {
534
+ content: 'CSS'; }
535
+ #content .highlight.css.css .code:after {
536
+ content: 'CSS'; }
537
+ #content .highlight.jsx.css .code:after {
538
+ content: 'CSS'; }
539
+ #content .highlight.html.jsx .code:after {
540
+ content: 'JSX'; }
541
+ #content .highlight.js.jsx .code:after {
542
+ content: 'JSX'; }
543
+ #content .highlight.bash.jsx .code:after {
544
+ content: 'JSX'; }
545
+ #content .highlight.css.jsx .code:after {
546
+ content: 'JSX'; }
547
+ #content .highlight.jsx.jsx .code:after {
548
+ content: 'JSX'; }
549
+ #content > table {
550
+ width: 100%;
551
+ margin: 20px 0; }
552
+ #content > table tr {
553
+ border-top: 1px solid #eee; }
554
+ #content > table tr:nth-child(2n) {
555
+ background-color: #f8f8f8; }
556
+ #content > table th {
557
+ font-family: 'ProximaNova-Semibold';
558
+ padding: 12px 13px;
559
+ border: 1px solid #eee;
560
+ vertical-align: middle;
561
+ text-align: left; }
562
+ #content > table td {
563
+ border: 1px solid #eee;
564
+ vertical-align: middle;
565
+ padding: 6px 13px;
566
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
567
+ font-size: 0.8em;
568
+ line-height: 1.6em; }
569
+ #content .bottom-nav {
570
+ height: 44px;
571
+ margin: 30px 0 25px;
572
+ border-bottom: 1px solid #eee;
573
+ padding-bottom: 25px; }
574
+ #content .bottom-nav a {
575
+ font-family: 'ProximaNova-Semibold';
576
+ margin: 0 5px; }
577
+ #content .edit-link {
578
+ text-align: center; }
579
+ #content .edit-link a {
580
+ color: #aaa;
581
+ font-family: 'ProximaNova-Semibold'; }
582
+ #content .edit-link a:before {
583
+ content: '';
584
+ display: inline-block;
585
+ width: 16px;
586
+ height: 16px;
587
+ background-size: 16px;
588
+ opacity: 0.3;
589
+ margin-right: 8px;
590
+ position: relative;
591
+ top: 2px; }
592
+ #content .field-name {
593
+ font-weight: bold; }
594
+ #content .field-entry {
595
+ margin-bottom: 4rem; }
596
+ #content .description-wrapper > p {
597
+ padding-left: 1rem;
598
+ margin-bottom: 1rem; }
599
+
600
+ #mobile-header {
601
+ z-index: 3;
602
+ position: fixed;
603
+ top: 0;
604
+ left: 0;
605
+ width: 100%;
606
+ height: 40px;
607
+ background-color: #fff;
608
+ display: none;
609
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); }
610
+ #mobile-header .menu-button {
611
+ position: absolute;
612
+ width: 24px;
613
+ height: 24px;
614
+ top: 8px;
615
+ left: 12px;
616
+ background: url("../assets/images/menu.png") center center no-repeat;
617
+ background-size: 24px;
618
+ opacity: 0.5; }
619
+ #mobile-header .logo {
620
+ position: absolute;
621
+ top: 5px;
622
+ left: 50%;
623
+ margin-left: -15px;
624
+ background-size: 30px; }
625
+ #mobile-header .logo img {
626
+ width: 30px;
627
+ height: 30px; }
628
+
629
+ #mobile-shade {
630
+ z-index: 1;
631
+ display: none;
632
+ pointer-events: none;
633
+ opacity: 0;
634
+ transition: opacity 0.3s ease;
635
+ position: fixed;
636
+ top: 0;
637
+ left: 0;
638
+ right: 0;
639
+ bottom: 0;
640
+ background-color: rgba(0, 0, 0, 0.4); }
641
+
642
+ @media screen and (max-width: 560px) {
643
+ body {
644
+ font-size: 14px; }
645
+
646
+ body.sidebar-open #sidebar {
647
+ transform: translate3d(0, 0, 0); }
648
+ body.sidebar-open #mobile-shade {
649
+ opacity: 1;
650
+ pointer-events: auto; }
651
+
652
+ #header {
653
+ height: 40px; }
654
+
655
+ #top-nav {
656
+ display: none; }
657
+
658
+ #site-nav {
659
+ display: none; }
660
+
661
+ #mobile-header {
662
+ display: block; }
663
+
664
+ #mobile-shade {
665
+ display: block; }
666
+
667
+ #sidebar-mobile {
668
+ display: block; }
669
+
670
+ #wrap {
671
+ padding-top: 40px;
672
+ padding-left: 0; }
673
+
674
+ #sidebar {
675
+ top: 0;
676
+ left: 0;
677
+ padding-top: 60px;
678
+ border-right: none;
679
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
680
+ transition: transform 0.3s ease;
681
+ transform: translate3d(-120%, 0, 0);
682
+ display: block; } }
683
+ .api {
684
+ background: #fafafa; }
685
+ .api h3 {
686
+ padding: 5px 10px; }
687
+ .api h3.api-title {
688
+ margin: 0;
689
+ overflow: auto; }
690
+ .api h4 {
691
+ font-weight: normal;
692
+ font-style: italic;
693
+ margin-bottom: 0.25em;
694
+ text-decoration: underline;
695
+ margin-left: 20px; }
696
+ .api dl {
697
+ margin-top: 0.25em; }
698
+ .api dl.args {
699
+ margin-left: 40px; }
700
+ .api dl.constants {
701
+ margin-left: 20px; }
702
+ .api dt {
703
+ margin-top: 1em; }
704
+ .api dt .name {
705
+ font-weight: bold; }
706
+ .api dt .type {
707
+ margin-left: 15px;
708
+ font-size: 0.9em;
709
+ font-weight: 200;
710
+ color: #000; }
711
+ .api dd {
712
+ margin-bottom: 1em;
713
+ margin-left: 0; }
714
+ .api .desc {
715
+ margin: 1em; }
716
+ .api pre {
717
+ margin-right: 10px; }
718
+
719
+ h3.api-title {
720
+ padding: 5px 10px;
721
+ margin-top: 2em; }
722
+
723
+ .api-title .locus {
724
+ float: right;
725
+ font-weight: normal;
726
+ padding-right: 5px;
727
+ font-style: italic; }
728
+ .api-title .subtext {
729
+ font-size: 11px;
730
+ text-align: left;
731
+ clear: both;
732
+ display: block;
733
+ font-weight: normal; }
734
+ .api-title .subtext > code {
735
+ font-size: 11px;
736
+ margin-right: 12px; }
737
+ .api-title .src-code {
738
+ color: #20338a !important;
739
+ border-bottom: none !important; }
740
+
741
+ .gutter pre {
742
+ color: #999; }
743
+
744
+ pre {
745
+ color: #525252; }
746
+ pre .function .keyword {
747
+ color: #0092db; }
748
+ pre .constant {
749
+ color: #0092db; }
750
+ pre .keyword {
751
+ color: #e96900; }
752
+ pre .attribute {
753
+ color: #e96900; }
754
+ pre .number {
755
+ color: #ae81ff; }
756
+ pre .literal {
757
+ color: #ae81ff; }
758
+ pre .tag {
759
+ color: #2973b7; }
760
+ pre .tag .title {
761
+ color: #2973b7; }
762
+ pre .tag .value {
763
+ color: #90a959; }
764
+ pre .change {
765
+ color: #2973b7; }
766
+ pre .winutils {
767
+ color: #2973b7; }
768
+ pre .flow {
769
+ color: #2973b7; }
770
+ pre .lisp .title {
771
+ color: #2973b7; }
772
+ pre .clojure .built_in {
773
+ color: #2973b7; }
774
+ pre .nginx .title {
775
+ color: #2973b7; }
776
+ pre .tex .special {
777
+ color: #2973b7; }
778
+ pre .tex .command {
779
+ color: #90a959; }
780
+ pre .tex .formula {
781
+ color: #b3b3b3;
782
+ opacity: 0.5; }
783
+ pre .class .title {
784
+ color: #4077bf; }
785
+ pre .symbol {
786
+ color: #90a959; }
787
+ pre .symbol .string {
788
+ color: #90a959; }
789
+ pre .value {
790
+ color: #90a959; }
791
+ pre .regexp {
792
+ color: #90a959; }
793
+ pre .title {
794
+ color: #a6e22e; }
795
+ pre .string {
796
+ color: #90a959; }
797
+ pre .subst {
798
+ color: #90a959; }
799
+ pre .haskell .type {
800
+ color: #90a959; }
801
+ pre .preprocessor {
802
+ color: #90a959; }
803
+ pre .ruby .class .parent {
804
+ color: #90a959; }
805
+ pre .built_in {
806
+ color: #90a959; }
807
+ pre .sql .aggregate {
808
+ color: #90a959; }
809
+ pre .django .template_tag {
810
+ color: #90a959; }
811
+ pre .django .variable {
812
+ color: #90a959; }
813
+ pre .django .filter .argument {
814
+ color: #90a959; }
815
+ pre .smalltalk .class {
816
+ color: #90a959; }
817
+ pre .smalltalk .localvars {
818
+ color: #90a959; }
819
+ pre .smalltalk .array {
820
+ color: #90a959; }
821
+ pre .javadoc {
822
+ color: #90a959; }
823
+ pre .attr_selector {
824
+ color: #90a959; }
825
+ pre .pseudo {
826
+ color: #90a959; }
827
+ pre .addition {
828
+ color: #90a959; }
829
+ pre .stream {
830
+ color: #90a959; }
831
+ pre .envvar {
832
+ color: #90a959; }
833
+ pre .apache .tag {
834
+ color: #90a959; }
835
+ pre .apache .cbracket {
836
+ color: #90a959; }
837
+ pre .apache .sqbracket {
838
+ color: #b3b3b3; }
839
+ pre .prompt {
840
+ color: #90a959; }
841
+ pre .comment {
842
+ color: #b3b3b3; }
843
+ pre .java .annotation {
844
+ color: #b3b3b3; }
845
+ pre .python .decorator {
846
+ color: #b3b3b3; }
847
+ pre .template_comment {
848
+ color: #b3b3b3; }
849
+ pre .pi {
850
+ color: #b3b3b3; }
851
+ pre .doctype {
852
+ color: #b3b3b3; }
853
+ pre .deletion {
854
+ color: #b3b3b3; }
855
+ pre .shebang {
856
+ color: #b3b3b3; }
857
+ pre .coffeescript .javascript {
858
+ opacity: 0.5; }
859
+ pre .javascript .xml {
860
+ opacity: 0.5; }
861
+ pre .xml .javascript {
862
+ opacity: 0.5; }
863
+ pre .xml .vbscript {
864
+ opacity: 0.5; }
865
+ pre .xml .css {
866
+ opacity: 0.5; }
867
+ pre .xml .cdata {
868
+ opacity: 0.5; }
869
+
870
+ .highlight .hll {
871
+ background-color: #49483e; }
872
+
873
+ pre {
874
+ background: #272822;
875
+ color: #f8f8f2; }
876
+
877
+ .highlight .c {
878
+ color: #75715e; }
879
+
880
+ /* Comment */
881
+ .highlight .err {
882
+ color: #960050;
883
+ background-color: #1e0010; }
884
+
885
+ /* Error */
886
+ .highlight .k {
887
+ color: #66d9ef; }
888
+
889
+ /* Keyword */
890
+ .highlight .l {
891
+ color: #ae81ff; }
892
+
893
+ /* Literal */
894
+ .highlight .n {
895
+ color: #f8f8f2; }
896
+
897
+ /* Name */
898
+ .highlight .o {
899
+ color: #f92672; }
900
+
901
+ /* Operator */
902
+ .highlight .p {
903
+ color: #f8f8f2; }
904
+
905
+ /* Punctuation */
906
+ .highlight .cm {
907
+ color: #75715e; }
908
+
909
+ /* Comment.Multiline */
910
+ .highlight .cp {
911
+ color: #75715e; }
912
+
913
+ /* Comment.Preproc */
914
+ .highlight .c1 {
915
+ color: #75715e; }
916
+
917
+ /* Comment.Single */
918
+ .highlight .cs {
919
+ color: #75715e; }
920
+
921
+ /* Comment.Special */
922
+ .highlight .ge {
923
+ font-style: italic; }
924
+
925
+ /* Generic.Emph */
926
+ .highlight .gs {
927
+ font-weight: bold; }
928
+
929
+ /* Generic.Strong */
930
+ .highlight .kc {
931
+ color: #66d9ef; }
932
+
933
+ /* Keyword.Constant */
934
+ .highlight .kd {
935
+ color: #66d9ef; }
936
+
937
+ /* Keyword.Declaration */
938
+ .highlight .kn {
939
+ color: #f92672; }
940
+
941
+ /* Keyword.Namespace */
942
+ .highlight .kp {
943
+ color: #66d9ef; }
944
+
945
+ /* Keyword.Pseudo */
946
+ .highlight .kr {
947
+ color: #66d9ef; }
948
+
949
+ /* Keyword.Reserved */
950
+ .highlight .kt {
951
+ color: #66d9ef; }
952
+
953
+ /* Keyword.Type */
954
+ .highlight .ld {
955
+ color: #e6db74; }
956
+
957
+ /* Literal.Date */
958
+ .highlight .m {
959
+ color: #ae81ff; }
960
+
961
+ /* Literal.Number */
962
+ .highlight .s {
963
+ color: #e6db74; }
964
+
965
+ /* Literal.String */
966
+ .highlight .na {
967
+ color: #a6e22e; }
968
+
969
+ /* Name.Attribute */
970
+ .highlight .nb {
971
+ color: #f8f8f2; }
972
+
973
+ /* Name.Builtin */
974
+ .highlight .nc {
975
+ color: #a6e22e; }
976
+
977
+ /* Name.Class */
978
+ .highlight .no {
979
+ color: #66d9ef; }
980
+
981
+ /* Name.Constant */
982
+ .highlight .nd {
983
+ color: #a6e22e; }
984
+
985
+ /* Name.Decorator */
986
+ .highlight .ni {
987
+ color: #f8f8f2; }
988
+
989
+ /* Name.Entity */
990
+ .highlight .ne {
991
+ color: #a6e22e; }
992
+
993
+ /* Name.Exception */
994
+ .highlight .nf {
995
+ color: #a6e22e; }
996
+
997
+ /* Name.Function */
998
+ .highlight .nl {
999
+ color: #f8f8f2; }
1000
+
1001
+ /* Name.Label */
1002
+ .highlight .nn {
1003
+ color: #f8f8f2; }
1004
+
1005
+ /* Name.Namespace */
1006
+ .highlight .nx {
1007
+ color: #a6e22e; }
1008
+
1009
+ /* Name.Other */
1010
+ .highlight .py {
1011
+ color: #f8f8f2; }
1012
+
1013
+ /* Name.Property */
1014
+ .highlight .nt {
1015
+ color: #f92672; }
1016
+
1017
+ /* Name.Tag */
1018
+ .highlight .nv {
1019
+ color: #f8f8f2; }
1020
+
1021
+ /* Name.Variable */
1022
+ .highlight .ow {
1023
+ color: #f92672; }
1024
+
1025
+ /* Operator.Word */
1026
+ .highlight .w {
1027
+ color: #f8f8f2; }
1028
+
1029
+ /* Text.Whitespace */
1030
+ .highlight .mf {
1031
+ color: #ae81ff; }
1032
+
1033
+ /* Literal.Number.Float */
1034
+ .highlight .mh {
1035
+ color: #ae81ff; }
1036
+
1037
+ /* Literal.Number.Hex */
1038
+ .highlight .mi {
1039
+ color: #ae81ff; }
1040
+
1041
+ /* Literal.Number.Integer */
1042
+ .highlight .mo {
1043
+ color: #ae81ff; }
1044
+
1045
+ /* Literal.Number.Oct */
1046
+ .highlight .sb {
1047
+ color: #e6db74; }
1048
+
1049
+ /* Literal.String.Backtick */
1050
+ .highlight .sc {
1051
+ color: #e6db74; }
1052
+
1053
+ /* Literal.String.Char */
1054
+ .highlight .sd {
1055
+ color: #e6db74; }
1056
+
1057
+ /* Literal.String.Doc */
1058
+ .highlight .s2 {
1059
+ color: #e6db74; }
1060
+
1061
+ /* Literal.String.Double */
1062
+ .highlight .se {
1063
+ color: #ae81ff; }
1064
+
1065
+ /* Literal.String.Escape */
1066
+ .highlight .sh {
1067
+ color: #e6db74; }
1068
+
1069
+ /* Literal.String.Heredoc */
1070
+ .highlight .si {
1071
+ color: #e6db74; }
1072
+
1073
+ /* Literal.String.Interpol */
1074
+ .highlight .sx {
1075
+ color: #e6db74; }
1076
+
1077
+ /* Literal.String.Other */
1078
+ .highlight .sr {
1079
+ color: #e6db74; }
1080
+
1081
+ /* Literal.String.Regex */
1082
+ .highlight .s1 {
1083
+ color: #e6db74; }
1084
+
1085
+ /* Literal.String.Single */
1086
+ .highlight .ss {
1087
+ color: #e6db74; }
1088
+
1089
+ /* Literal.String.Symbol */
1090
+ .highlight .bp {
1091
+ color: #f8f8f2; }
1092
+
1093
+ /* Name.Builtin.Pseudo */
1094
+ .highlight .vc {
1095
+ color: #f8f8f2; }
1096
+
1097
+ /* Name.Variable.Class */
1098
+ .highlight .vg {
1099
+ color: #f8f8f2; }
1100
+
1101
+ /* Name.Variable.Global */
1102
+ .highlight .vi {
1103
+ color: #f8f8f2; }
1104
+
1105
+ /* Name.Variable.Instance */
1106
+ .highlight .il {
1107
+ color: #ae81ff; }
1108
+
1109
+ /* Literal.Number.Integer.Long */
1110
+ .deprecation-notice {
1111
+ padding-left: 5px;
1112
+ border-left: 2px solid #e8400d;
1113
+ background: #fdf2ec; }
1114
+ .deprecation-notice span {
1115
+ font-weight: bold; }