Create gh-pages branch via GitHub
This commit is contained in:
BIN
images/body-bg.jpg
Normal file
BIN
images/body-bg.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
BIN
images/download-button.png
Normal file
BIN
images/download-button.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
BIN
images/github-button.png
Normal file
BIN
images/github-button.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
images/header-bg.jpg
Normal file
BIN
images/header-bg.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
BIN
images/highlight-bg.jpg
Normal file
BIN
images/highlight-bg.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
BIN
images/sidebar-bg.jpg
Normal file
BIN
images/sidebar-bg.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
200
index.html
200
index.html
@@ -1,118 +1,97 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Cachet-monitor by CastawayLabs</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
|
||||
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
|
||||
<meta charset='utf-8'>
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link href='https://fonts.googleapis.com/css?family=Architects+Daughter' rel='stylesheet' type='text/css'>
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print">
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<title>Cachet-monitor by CastawayLabs</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<section class="page-header">
|
||||
<h1 class="project-name">Cachet-monitor</h1>
|
||||
<h2 class="project-tagline">Monitors a URL and posts data points to cachet</h2>
|
||||
<a href="https://github.com/CastawayLabs/cachet-monitor" class="btn">View on GitHub</a>
|
||||
<a href="https://github.com/CastawayLabs/cachet-monitor/zipball/master" class="btn">Download .zip</a>
|
||||
<a href="https://github.com/CastawayLabs/cachet-monitor/tarball/master" class="btn">Download .tar.gz</a>
|
||||
</section>
|
||||
<header>
|
||||
<div class="inner">
|
||||
<h1>Cachet-monitor</h1>
|
||||
<h2>Distributed monitoring plugin for CachetHQ</h2>
|
||||
<a href="https://github.com/CastawayLabs/cachet-monitor" class="button"><small>View project on</small> GitHub</a>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section class="main-content">
|
||||
<h1>
|
||||
<a id="cachet-monitor-plugin" class="anchor" href="#cachet-monitor-plugin" aria-hidden="true"><span class="octicon octicon-link"></span></a>Cachet Monitor plugin</h1>
|
||||
|
||||
<p>This is a monitoring plugin for CachetHQ.</p>
|
||||
|
||||
<p><img src="https://castawaylabs.github.io/cachet-monitor/screenshot.png" alt=""></p>
|
||||
<div id="content-wrapper">
|
||||
<div class="inner clearfix">
|
||||
<section id="main-content">
|
||||
<p><img src="https://castawaylabs.github.io/cachet-monitor/screenshot.png" alt="screenshot"></p>
|
||||
|
||||
<h2>
|
||||
<a id="features" class="anchor" href="#features" aria-hidden="true"><span class="octicon octicon-link"></span></a>Features</h2>
|
||||
<a id="features" class="anchor" href="#features" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Features</h2>
|
||||
|
||||
<ul>
|
||||
<li>[x] Creates & Resolves Incidents</li>
|
||||
<li>[x] Posts monitor lag every second</li>
|
||||
<li>[x] Posts monitor lag to cachet graphs</li>
|
||||
<li>[x] Updates Component to Partial Outage</li>
|
||||
<li>[x] Updates Component to Major Outage if in Partial Outage</li>
|
||||
<li>[x] Updates Component to Major Outage if already in Partial Outage (works well with distributed monitoring)</li>
|
||||
<li>[x] Can be run on multiple servers and geo regions</li>
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
<a id="docker-quickstart" class="anchor" href="#docker-quickstart" aria-hidden="true"><span class="octicon octicon-link"></span></a>Docker Quickstart</h2>
|
||||
|
||||
<ol>
|
||||
<li>Create a configuration json</li>
|
||||
<li>
|
||||
</ol>
|
||||
|
||||
<pre><code>docker run -d \
|
||||
--name cachet-monitor \
|
||||
-h cachet-monitor \
|
||||
-v `pwd`/config.json:/etc/cachet-monitor.config.json \
|
||||
castawaylabs/cachet-monitor
|
||||
</code></pre>
|
||||
|
||||
<h2>
|
||||
<a id="configuration" class="anchor" href="#configuration" aria-hidden="true"><span class="octicon octicon-link"></span></a>Configuration</h2>
|
||||
<a id="configuration" class="anchor" href="#configuration" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Configuration</h2>
|
||||
|
||||
<pre><code>{
|
||||
"api_url": "https://demo.cachethq.io/api",
|
||||
"api_token": "9yMHsdioQosnyVK4iCVR",
|
||||
"monitors": [
|
||||
{
|
||||
"name": "nodegear frontend",
|
||||
"url": "https://nodegear.io/ping",
|
||||
"metric_id": 0,
|
||||
"component_id": 0,
|
||||
"threshold": 80,
|
||||
"component_id": null,
|
||||
"expected_status_code": 200,
|
||||
"strict_tls": true
|
||||
}
|
||||
],
|
||||
"insecure_api": false
|
||||
// URL for the API. Note: Must end with /api/v1
|
||||
"api_url": "https://<cachet domain>/api/v1",
|
||||
// Your API token for Cachet
|
||||
"api_token": "<cachet api token>",
|
||||
// optional, false default, set if your certificate is self-signed/untrusted
|
||||
"insecure_api": false,
|
||||
"monitors": [{
|
||||
// required, friendly name for your monitor
|
||||
"name": "Name of your monitor",
|
||||
// required, url to probe
|
||||
"url": "Ping URL",
|
||||
// optional, http method (defaults GET)
|
||||
"method": "get",
|
||||
// self-signed ssl certificate
|
||||
"strict_tls": true,
|
||||
// seconds between checks
|
||||
"interval": 10,
|
||||
// post lag to cachet metric (graph)
|
||||
// note either metric ID or component ID are required
|
||||
"metric_id": <metric id>,
|
||||
// post incidents to this component
|
||||
"component_id": <component id>,
|
||||
// If % of downtime is over this threshold, open an incident
|
||||
"threshold": 80,
|
||||
// optional, expected status code (either status code or body must be supplied)
|
||||
"expected_status_code": 200,
|
||||
// optional, regular expression to match body content
|
||||
"expected_body": "P.*NG"
|
||||
}],
|
||||
// optional, system name to identify bot (uses hostname by default)
|
||||
"system_name": "",
|
||||
// optional, defaults to stdout
|
||||
"log_path": ""
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p><em>Notes:</em></p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<code>metric_id</code> is optional</li>
|
||||
<li>
|
||||
<code>insecure_api</code> if true it will ignore HTTPS certificate errors (eg if self-signed)</li>
|
||||
<li>
|
||||
<code>strict_tls</code> if false (true is default) it will ignore HTTPS certificate errors (eg if monitor uses self-signed certificate)</li>
|
||||
<li>
|
||||
<code>component_id</code> is optional</li>
|
||||
<li>
|
||||
<code>threshold</code> is a percentage</li>
|
||||
<li>
|
||||
<code>expected_status_code</code> is a http response code</li>
|
||||
<li>GET request will be performed on the <code>url</code>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>
|
||||
<a id="how-to-run" class="anchor" href="#how-to-run" aria-hidden="true"><span class="octicon octicon-link"></span></a>How to run</h2>
|
||||
|
||||
<p>Example:</p>
|
||||
<a id="installation" class="anchor" href="#installation" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Installation</h2>
|
||||
|
||||
<ol>
|
||||
<li>Set up <a href="https://golang.org">Go</a>
|
||||
<li>Download binary from <a href="https://github.com/CastawayLabs/cachet-monitor/releases">release page</a>
|
||||
</li>
|
||||
<li><code>go install github.com/castawaylabs/cachet-monitor</code></li>
|
||||
<li><code>cachet-monitor -c https://raw.githubusercontent.com/CastawayLabs/cachet-monitor/master/example.config.json</code></li>
|
||||
<li>Create your configuration (<a href="https://raw.githubusercontent.com/CastawayLabs/cachet-monitor/master/example.config.json">example</a>)</li>
|
||||
<li><code>cachet-monitor -c /etc/cachet-monitor.config.json</code></li>
|
||||
</ol>
|
||||
|
||||
<p>Production:</p>
|
||||
|
||||
<ol>
|
||||
<li>Download the example config and save to <code>/etc/cachet-monitor.config.json</code>
|
||||
</li>
|
||||
<li>Run in background: <code>nohup cachet-monitor 2>&1 > /var/log/cachet-monitor.log &</code>
|
||||
</li>
|
||||
</ol>
|
||||
<p>pro tip: run in background using <code>nohup cachet-monitor 2>&1 > /var/log/cachet-monitor.log &</code></p>
|
||||
|
||||
<pre><code>Usage of cachet-monitor:
|
||||
-c="/etc/cachet-monitor.config.json": Config path
|
||||
@@ -121,7 +100,7 @@
|
||||
</code></pre>
|
||||
|
||||
<h2>
|
||||
<a id="environment-variables" class="anchor" href="#environment-variables" aria-hidden="true"><span class="octicon octicon-link"></span></a>Environment variables</h2>
|
||||
<a id="environment-variables" class="anchor" href="#environment-variables" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Environment variables</h2>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
@@ -134,26 +113,55 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>CACHET_API</td>
|
||||
<td><a href="http://demo.cachethq.io/api">http://demo.cachethq.io/api</a></td>
|
||||
<td><a href="http://demo.cachethq.io/api/v1">http://demo.cachethq.io/api/v1</a></td>
|
||||
<td>URL endpoint for cachet api</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CACHET_TOKEN</td>
|
||||
<td>randomvalue</td>
|
||||
<td>APIToken123</td>
|
||||
<td>API Authentication token</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CACHET_DEV</td>
|
||||
<td>1</td>
|
||||
<td>Strips logging</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<footer class="site-footer">
|
||||
<span class="site-footer-owner"><a href="https://github.com/CastawayLabs/cachet-monitor">Cachet-monitor</a> is maintained by <a href="https://github.com/CastawayLabs">CastawayLabs</a>.</span>
|
||||
<h2>
|
||||
<a id="vision-and-goals" class="anchor" href="#vision-and-goals" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Vision and goals</h2>
|
||||
|
||||
<span class="site-footer-credits">This page was generated by <a href="https://pages.github.com">GitHub Pages</a> using the <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a> by <a href="https://twitter.com/jasonlong">Jason Long</a>.</span>
|
||||
</footer>
|
||||
<p>We made this tool because we felt the need to have our own monitoring software (leveraging on Cachet).
|
||||
The idea is a stateless program which collects data and pushes it to a central cachet instance.</p>
|
||||
|
||||
</section>
|
||||
<p>This gives us power to have an army of geographically distributed loggers and reveal issues in both latency & downtime on client websites.</p>
|
||||
|
||||
<h2>
|
||||
<a id="package-usage" class="anchor" href="#package-usage" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Package usage</h2>
|
||||
|
||||
<p>When using <code>cachet-monitor</code> as a package in another program, you should follow what <code>cli/main.go</code> does. It is important to call <code>ValidateConfiguration</code> on <code>CachetMonitor</code> and all the monitors inside.</p>
|
||||
|
||||
<p><a href="https://godoc.org/github.com/CastawayLabs/cachet-monitor">API Documentation</a></p>
|
||||
</section>
|
||||
|
||||
<aside id="sidebar">
|
||||
<a href="https://github.com/CastawayLabs/cachet-monitor/zipball/master" class="button">
|
||||
<small>Download</small>
|
||||
.zip file
|
||||
</a>
|
||||
<a href="https://github.com/CastawayLabs/cachet-monitor/tarball/master" class="button">
|
||||
<small>Download</small>
|
||||
.tar.gz file
|
||||
</a>
|
||||
|
||||
<p class="repo-owner"><a href="https://github.com/CastawayLabs/cachet-monitor"></a> is maintained by <a href="https://github.com/CastawayLabs">CastawayLabs</a>.</p>
|
||||
|
||||
<p>This page was generated by <a href="https://pages.github.com">GitHub Pages</a> using the Architect theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.</p>
|
||||
</aside>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
1
javascripts/main.js
Normal file
1
javascripts/main.js
Normal file
@@ -0,0 +1 @@
|
||||
console.log('This would be the main JS file.');
|
||||
@@ -1 +1,7 @@
|
||||
{"name":"Cachet-monitor","tagline":"Monitors a URL and posts data points to cachet","body":"Cachet Monitor plugin\r\n=====================\r\n\r\nThis is a monitoring plugin for CachetHQ.\r\n\r\n\r\n\r\nFeatures\r\n--------\r\n\r\n- [x] Creates & Resolves Incidents\r\n- [x] Posts monitor lag every second\r\n- [x] Updates Component to Partial Outage\r\n- [x] Updates Component to Major Outage if in Partial Outage\r\n- [x] Can be run on multiple servers and geo regions\r\n\r\nDocker Quickstart\r\n-----------------\r\n\r\n1. Create a configuration json\r\n2. \r\n```\r\ndocker run -d \\\r\n --name cachet-monitor \\\r\n -h cachet-monitor \\\r\n -v `pwd`/config.json:/etc/cachet-monitor.config.json \\\r\n castawaylabs/cachet-monitor\r\n```\r\n\r\nConfiguration\r\n-------------\r\n\r\n```\r\n{\r\n \"api_url\": \"https://demo.cachethq.io/api\",\r\n \"api_token\": \"9yMHsdioQosnyVK4iCVR\",\r\n \"monitors\": [\r\n {\r\n \"name\": \"nodegear frontend\",\r\n \"url\": \"https://nodegear.io/ping\",\r\n \"metric_id\": 0,\r\n \"component_id\": 0,\r\n \"threshold\": 80,\r\n \"component_id\": null,\r\n \"expected_status_code\": 200,\r\n \"strict_tls\": true\r\n }\r\n ],\r\n \"insecure_api\": false\r\n}\r\n```\r\n\r\n*Notes:*\r\n\r\n- `metric_id` is optional\r\n- `insecure_api` if true it will ignore HTTPS certificate errors (eg if self-signed)\r\n- `strict_tls` if false (true is default) it will ignore HTTPS certificate errors (eg if monitor uses self-signed certificate)\r\n- `component_id` is optional\r\n- `threshold` is a percentage\r\n- `expected_status_code` is a http response code\r\n- GET request will be performed on the `url`\r\n\r\nHow to run\r\n----------\r\n\r\nExample:\r\n\r\n1. Set up [Go](https://golang.org)\r\n2. `go install github.com/castawaylabs/cachet-monitor`\r\n3. `cachet-monitor -c https://raw.githubusercontent.com/CastawayLabs/cachet-monitor/master/example.config.json`\r\n\r\nProduction:\r\n\r\n1. Download the example config and save to `/etc/cachet-monitor.config.json`\r\n2. Run in background: `nohup cachet-monitor 2>&1 > /var/log/cachet-monitor.log &`\r\n\r\n```\r\nUsage of cachet-monitor:\r\n -c=\"/etc/cachet-monitor.config.json\": Config path\r\n -log=\"\": Log path\r\n -name=\"\": System Name\r\n```\r\n\r\nEnvironment variables\r\n---------------------\r\n\r\n| Name | Example Value | Description |\r\n| ------------ | --------------------------- | --------------------------- |\r\n| CACHET_API | http://demo.cachethq.io/api | URL endpoint for cachet api |\r\n| CACHET_TOKEN | randomvalue | API Authentication token |","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
|
||||
{
|
||||
"name": "Cachet-monitor",
|
||||
"tagline": "Distributed monitoring plugin for CachetHQ",
|
||||
"body": "\r\n\r\nFeatures\r\n--------\r\n\r\n- [x] Creates & Resolves Incidents\r\n- [x] Posts monitor lag to cachet graphs\r\n- [x] Updates Component to Partial Outage\r\n- [x] Updates Component to Major Outage if already in Partial Outage (works well with distributed monitoring)\r\n- [x] Can be run on multiple servers and geo regions\r\n\r\nConfiguration\r\n-------------\r\n\r\n```\r\n{\r\n // URL for the API. Note: Must end with /api/v1\r\n \"api_url\": \"https://<cachet domain>/api/v1\",\r\n // Your API token for Cachet\r\n \"api_token\": \"<cachet api token>\",\r\n // optional, false default, set if your certificate is self-signed/untrusted\r\n \"insecure_api\": false,\r\n \"monitors\": [{\r\n // required, friendly name for your monitor\r\n \"name\": \"Name of your monitor\",\r\n // required, url to probe\r\n \"url\": \"Ping URL\",\r\n // optional, http method (defaults GET)\r\n \"method\": \"get\",\r\n // self-signed ssl certificate\r\n \"strict_tls\": true,\r\n // seconds between checks\r\n \"interval\": 10,\r\n // post lag to cachet metric (graph)\r\n // note either metric ID or component ID are required\r\n \"metric_id\": <metric id>,\r\n // post incidents to this component\r\n \"component_id\": <component id>,\r\n // If % of downtime is over this threshold, open an incident\r\n \"threshold\": 80,\r\n // optional, expected status code (either status code or body must be supplied)\r\n \"expected_status_code\": 200,\r\n // optional, regular expression to match body content\r\n \"expected_body\": \"P.*NG\"\r\n }],\r\n // optional, system name to identify bot (uses hostname by default)\r\n \"system_name\": \"\",\r\n // optional, defaults to stdout\r\n \"log_path\": \"\"\r\n}\r\n```\r\n\r\nInstallation\r\n------------\r\n\r\n1. Download binary from [release page](https://github.com/CastawayLabs/cachet-monitor/releases)\r\n2. Create your configuration ([example](https://raw.githubusercontent.com/CastawayLabs/cachet-monitor/master/example.config.json))\r\n3. `cachet-monitor -c /etc/cachet-monitor.config.json`\r\n\r\npro tip: run in background using `nohup cachet-monitor 2>&1 > /var/log/cachet-monitor.log &`\r\n\r\n```\r\nUsage of cachet-monitor:\r\n -c=\"/etc/cachet-monitor.config.json\": Config path\r\n -log=\"\": Log path\r\n -name=\"\": System Name\r\n```\r\n\r\nEnvironment variables\r\n---------------------\r\n\r\n| Name | Example Value | Description |\r\n| ------------ | ------------------------------ | --------------------------- |\r\n| CACHET_API | http://demo.cachethq.io/api/v1 | URL endpoint for cachet api |\r\n| CACHET_TOKEN | APIToken123 | API Authentication token |\r\n| CACHET_DEV | 1 | Strips logging |\r\n\r\nVision and goals\r\n----------------\r\n\r\nWe made this tool because we felt the need to have our own monitoring software (leveraging on Cachet).\r\nThe idea is a stateless program which collects data and pushes it to a central cachet instance.\r\n\r\nThis gives us power to have an army of geographically distributed loggers and reveal issues in both latency & downtime on client websites.\r\n\r\nPackage usage\r\n-------------\r\n\r\nWhen using `cachet-monitor` as a package in another program, you should follow what `cli/main.go` does. It is important to call `ValidateConfiguration` on `CachetMonitor` and all the monitors inside.\r\n\r\n[API Documentation](https://godoc.org/github.com/CastawayLabs/cachet-monitor)\r\n",
|
||||
"google": "",
|
||||
"note": "Don't delete this file! It's used internally to help with page regeneration."
|
||||
}
|
||||
@@ -1,17 +1,25 @@
|
||||
/*
|
||||
Copyright 2014 GitHub Inc.
|
||||
The MIT License (MIT)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
Copyright (c) 2015 GitHub, Inc.
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
228
stylesheets/print.css
Normal file
228
stylesheets/print.css
Normal file
@@ -0,0 +1,228 @@
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed,
|
||||
figure, figcaption, footer, header, hgroup,
|
||||
menu, nav, output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
font: inherit;
|
||||
font-size: 100%;
|
||||
vertical-align: baseline;
|
||||
border: 0;
|
||||
}
|
||||
/* HTML5 display-role reset for older browsers */
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
body {
|
||||
line-height: 1;
|
||||
}
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
table {
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
body {
|
||||
font-family: 'Helvetica Neue', Helvetica, Arial, serif;
|
||||
font-size: 13px;
|
||||
line-height: 1.5;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
a {
|
||||
font-weight: bold;
|
||||
color: #d5000d;
|
||||
}
|
||||
|
||||
header {
|
||||
padding-top: 35px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
header h1 {
|
||||
font-size: 48px;
|
||||
font-weight: bold;
|
||||
line-height: 1.2;
|
||||
color: #303030;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
|
||||
header h2 {
|
||||
font-size: 24px;
|
||||
font-weight: normal;
|
||||
line-height: 1.3;
|
||||
color: #aaa;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
#downloads {
|
||||
display: none;
|
||||
}
|
||||
#main_content {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
code, pre {
|
||||
margin-bottom: 30px;
|
||||
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal;
|
||||
font-size: 12px;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
code {
|
||||
padding: 0 3px;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 20px;
|
||||
overflow: auto;
|
||||
border: solid 1px #ddd;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul, ol, dl {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
|
||||
/* COMMON STYLES */
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border: 1px solid #ebebeb;
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
td {
|
||||
font-weight: 300;
|
||||
text-align: center;
|
||||
border: 1px solid #ebebeb;
|
||||
}
|
||||
|
||||
form {
|
||||
padding: 20px;
|
||||
background: #f2f2f2;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* GENERAL ELEMENT TYPE STYLES */
|
||||
|
||||
h1 {
|
||||
font-size: 2.8em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-bottom: 8px;
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
color: #303030;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-bottom: 8px;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color: #d5000d;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #303030;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1em;
|
||||
color: #303030;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: .8em;
|
||||
color: #303030;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 20px;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
p a {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: 0 0 0 30px;
|
||||
margin-bottom: 20px;
|
||||
font-size: 1.6em;
|
||||
border-left: 10px solid #e9e9e9;
|
||||
}
|
||||
|
||||
ul li {
|
||||
padding-left: 20px;
|
||||
list-style-position: inside;
|
||||
list-style: disc;
|
||||
}
|
||||
|
||||
ol li {
|
||||
padding-left: 3px;
|
||||
list-style-position: inside;
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
dl dd {
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
footer {
|
||||
padding-top: 20px;
|
||||
padding-bottom: 30px;
|
||||
margin-top: 40px;
|
||||
font-size: 13px;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
footer a {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* MISC */
|
||||
.clearfix:after {
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
content: '.';
|
||||
}
|
||||
|
||||
.clearfix {display: inline-block;}
|
||||
* html .clearfix {height: 1%;}
|
||||
.clearfix {display: block;}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user