You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by om...@apache.org on 2015/06/22 23:07:30 UTC
[6/8] orc git commit: Publish first version of site.
Publish first version of site.
Project: http://git-wip-us.apache.org/repos/asf/orc/repo
Commit: http://git-wip-us.apache.org/repos/asf/orc/commit/6a400548
Tree: http://git-wip-us.apache.org/repos/asf/orc/tree/6a400548
Diff: http://git-wip-us.apache.org/repos/asf/orc/diff/6a400548
Branch: refs/heads/asf-site
Commit: 6a4005483a2f42120aa5731ad6a20afeb3a96bd3
Parents: 9192d88
Author: Owen O'Malley <om...@apache.org>
Authored: Tue May 12 20:42:25 2015 -0700
Committer: Owen O'Malley <om...@apache.org>
Committed: Tue May 12 20:42:25 2015 -0700
----------------------------------------------------------------------
css/screen.css | 1405 +++++++++++++++++++++
develop/coding.html | 184 +++
develop/index.html | 252 ++++
doap_orc.rdf | 55 +
docs/acid.html | 1179 +++++++++++++++++
docs/compression.html | 1005 +++++++++++++++
docs/encodings.html | 1600 ++++++++++++++++++++++++
docs/file-tail.html | 1288 +++++++++++++++++++
docs/hive-config.html | 1184 ++++++++++++++++++
docs/hive-ddl.html | 998 +++++++++++++++
docs/index.html | 984 +++++++++++++++
docs/indexes.html | 989 +++++++++++++++
docs/run-length.html | 1377 ++++++++++++++++++++
docs/spec-index.html | 1108 ++++++++++++++++
docs/spec-intro.html | 993 +++++++++++++++
docs/stripes.html | 1066 ++++++++++++++++
docs/types.html | 1035 +++++++++++++++
downloads/index.html | 142 +++
favicon.ico | Bin 0 -> 1150 bytes
fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes
fonts/fontawesome-webfont.svg | 520 ++++++++
fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes
fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes
help/index.html | 167 +++
img/BloomFilter.png | Bin 0 -> 61887 bytes
img/CompressionStream.png | Bin 0 -> 91623 bytes
img/OrcFileLayout.png | Bin 0 -> 127908 bytes
img/TreeWriters.png | Bin 0 -> 134465 bytes
img/logo.png | Bin 0 -> 6950 bytes
index.html | 157 ++-
js/html5shiv.min.js | 4 +
js/respond.min.js | 5 +
news/2015/04/22/orc-as-tlp/index.html | 247 ++++
news/2015/05/11/new-committers/index.html | 223 ++++
news/index.html | 296 +++++
news/releases/index.html | 187 +++
talks/index.html | 193 +++
37 files changed, 18838 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/orc/blob/6a400548/css/screen.css
----------------------------------------------------------------------
diff --git a/css/screen.css b/css/screen.css
new file mode 100644
index 0000000..3870839
--- /dev/null
+++ b/css/screen.css
@@ -0,0 +1,1405 @@
+@charset "UTF-8";
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+html {
+ font-family: sans-serif;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%; }
+
+body {
+ margin: 0; }
+
+article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
+ display: block; }
+
+audio, canvas, progress, video {
+ display: inline-block;
+ vertical-align: baseline; }
+
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+[hidden], template {
+ display: none; }
+
+a {
+ background-color: transparent; }
+
+a:active, a:hover {
+ outline: 0; }
+
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+b, strong {
+ font-weight: 700; }
+
+dfn {
+ font-style: italic; }
+
+h1 {
+ font-size: 2em;
+ margin: .67em 0; }
+
+mark {
+ background: #ff0;
+ color: #000; }
+
+small {
+ font-size: 80%; }
+
+sub, sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -.5em; }
+
+sub {
+ bottom: -.25em; }
+
+img {
+ border: 0; }
+
+svg:not(:root) {
+ overflow: hidden; }
+
+figure {
+ margin: 1em 40px; }
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0; }
+
+pre {
+ overflow: auto; }
+
+code, kbd, pre, samp {
+ font-family: monospace,monospace;
+ font-size: 1em; }
+
+button, input, optgroup, select, textarea {
+ color: inherit;
+ font: inherit;
+ margin: 0; }
+
+button {
+ overflow: visible; }
+
+button, select {
+ text-transform: none; }
+
+button, html input[type=button], input[type=reset], input[type=submit] {
+ -webkit-appearance: button;
+ cursor: pointer; }
+
+button[disabled], html input[disabled] {
+ cursor: default; }
+
+button::-moz-focus-inner, input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+input {
+ line-height: normal; }
+
+input[type=checkbox], input[type=radio] {
+ box-sizing: border-box;
+ padding: 0; }
+
+input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
+ height: auto; }
+
+input[type=search] {
+ -webkit-appearance: textfield;
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box; }
+
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+fieldset {
+ border: 1px solid silver;
+ margin: 0 2px;
+ padding: .35em .625em .75em; }
+
+legend {
+ border: 0;
+ padding: 0; }
+
+textarea {
+ overflow: auto; }
+
+optgroup {
+ font-weight: 700; }
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td, th {
+ padding: 0; }
+
+/*
+ * Gridism
+ * A simple, responsive, and handy CSS grid by @cobyism
+ * https://github.com/cobyism/gridism
+ */
+/* Preserve some sanity */
+.grid,
+.unit {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box; }
+
+/* Set up some rules to govern the grid */
+.grid {
+ display: block;
+ clear: both; }
+
+.grid .unit {
+ float: left;
+ width: 100%;
+ padding: 10px; }
+
+/* This ensures the outer gutters are equal to the (doubled) inner gutters. */
+.grid .unit:first-child {
+ padding-left: 20px; }
+
+.grid .unit:last-child {
+ padding-right: 20px; }
+
+/* Nested grids already have padding though, so let’s nuke it */
+.unit .unit:first-child {
+ padding-left: 0; }
+
+.unit .unit:last-child {
+ padding-right: 0; }
+
+.unit .grid:first-child > .unit {
+ padding-top: 0; }
+
+.unit .grid:last-child > .unit {
+ padding-bottom: 0; }
+
+/* Let people nuke the gutters/padding completely in a couple of ways */
+.no-gutters .unit,
+.unit.no-gutters {
+ padding: 0 !important; }
+
+/* Wrapping at a maximum width is optional */
+.wrap .grid,
+.grid.wrap {
+ max-width: 978px;
+ margin: 0 auto; }
+
+/* Width classes also have shorthand versions numbered as fractions
+ * For example: for a grid unit 1/3 (one third) of the parent width,
+ * simply apply class="w-1-3" to the element. */
+.grid .whole, .grid .w-1-1 {
+ width: 100%; }
+
+.grid .half, .grid .w-1-2 {
+ width: 50%; }
+
+.grid .one-third, .grid .w-1-3 {
+ width: 33.3332%; }
+
+.grid .two-thirds, .grid .w-2-3 {
+ width: 66.6665%; }
+
+.grid .one-quarter,
+.grid .one-fourth, .grid .w-1-4 {
+ width: 25%; }
+
+.grid .three-quarters,
+.grid .three-fourths, .grid .w-3-4 {
+ width: 75%; }
+
+.grid .one-fifth, .grid .w-1-5 {
+ width: 20%; }
+
+.grid .two-fifths, .grid .w-2-5 {
+ width: 40%; }
+
+.grid .three-fifths, .grid .w-3-5 {
+ width: 60%; }
+
+.grid .four-fifths, .grid .w-4-5 {
+ width: 80%; }
+
+.grid .golden-small, .grid .w-g-s {
+ width: 38.2716%; }
+
+/* Golden section: smaller piece */
+.grid .golden-large, .grid .w-g-l {
+ width: 61.7283%; }
+
+/* Golden section: larger piece */
+/* Clearfix after every .grid */
+.grid {
+ *zoom: 1; }
+
+.grid:before, .grid:after {
+ display: table;
+ content: "";
+ line-height: 0; }
+
+.grid:after {
+ clear: both; }
+
+/* Utility classes */
+.align-center {
+ text-align: center; }
+
+.align-left {
+ text-align: left; }
+
+.align-right {
+ text-align: right; }
+
+.pull-left {
+ float: left; }
+
+.pull-right {
+ float: right; }
+
+/* A property for a better rendering of images in units: in
+ this way bigger pictures are just resized if the unit
+ becomes smaller */
+.unit img {
+ max-width: 100%; }
+
+/* Responsive Stuff */
+@media screen and (max-width: 568px) {
+ /* Stack anything that isn’t full-width on smaller screens
+ and doesn't provide the no-stacking-on-mobiles class */
+ .grid:not(.no-stacking-on-mobiles) > .unit {
+ width: 100% !important;
+ padding-left: 20px;
+ padding-right: 20px; }
+
+ .unit .grid .unit {
+ padding-left: 0px;
+ padding-right: 0px; }
+
+ /* Sometimes, you just want to be different on small screens */
+ .center-on-mobiles {
+ text-align: center !important; }
+
+ .hide-on-mobiles {
+ display: none !important; } }
+/* Expand the wrap a bit further on larger screens */
+@media screen and (min-width: 1180px) {
+ .wider .grid,
+ .grid.wider {
+ max-width: 1180px;
+ margin: 0 auto; } }
+.highlight {
+ /* Comment */
+ /* Error */
+ /* Generic */
+ /* Keyword */
+ /* Literal */
+ /* Name */
+ /* Operator */
+ /* Other */
+ /* Punctuation */
+ /* Comment.Multiline */
+ /* Comment.Preproc */
+ /* Comment.Single */
+ /* Comment.Special */
+ /* Generic.Deleted */
+ /* Generic.Emph */
+ /* Generic.Error */
+ /* Generic.Heading */
+ /* Generic.Inserted */
+ /* Generic.Output, qualified with span to prevent applying this style to the Go language, see #1153. */
+ /* Generic.Prompt */
+ /* Generic.Strong */
+ /* Generic.Subheading */
+ /* Generic.Traceback */
+ /* Keyword.Constant */
+ /* Keyword.Declaration */
+ /* Keyword.Namespace */
+ /* Keyword.Pseudo */
+ /* Keyword.Reserved */
+ /* Keyword.Type */
+ /* Literal.Date */
+ /* Literal.Number */
+ /* Literal.String */
+ /* Name.Attribute */
+ /* Name.Builtin */
+ /* Name.Class */
+ /* Name.Constant */
+ /* Name.Decorator */
+ /* Name.Entity */
+ /* Name.Exception */
+ /* Name.Function */
+ /* Name.Label */
+ /* Name.Namespace */
+ /* Name.Other */
+ /* Name.Property */
+ /* Name.Tag */
+ /* Name.Variable */
+ /* Operator.Word */
+ /* Text.Whitespace */
+ /* Literal.Number.Float */
+ /* Literal.Number.Hex */
+ /* Literal.Number.Integer */
+ /* Literal.Number.Oct */
+ /* Literal.String.Backtick */
+ /* Literal.String.Char */
+ /* Literal.String.Doc */
+ /* Literal.String.Double */
+ /* Literal.String.Escape */
+ /* Literal.String.Heredoc */
+ /* Literal.String.Interpol */
+ /* Literal.String.Other */
+ /* Literal.String.Regex */
+ /* Literal.String.Single */
+ /* Literal.String.Symbol */
+ /* Name.Builtin.Pseudo */
+ /* Name.Variable.Class */
+ /* Name.Variable.Global */
+ /* Name.Variable.Instance */
+ /* Literal.Number.Integer.Long */ }
+ .highlight .hll {
+ background-color: #ffffcc; }
+ .highlight .c {
+ color: #87ceeb; }
+ .highlight .err {
+ color: #ffffff; }
+ .highlight .g {
+ color: #ffffff; }
+ .highlight .k {
+ color: #f0e68c; }
+ .highlight .l {
+ color: #ffffff; }
+ .highlight .n {
+ color: #ffffff; }
+ .highlight .o {
+ color: #ffffff; }
+ .highlight .x {
+ color: #ffffff; }
+ .highlight .p {
+ color: #ffffff; }
+ .highlight .cm {
+ color: #87ceeb; }
+ .highlight .cp {
+ color: #cd5c5c; }
+ .highlight .c1 {
+ color: #87ceeb; }
+ .highlight .cs {
+ color: #87ceeb; }
+ .highlight .gd {
+ color: #0000c0;
+ font-weight: bold;
+ background-color: #008080; }
+ .highlight .ge {
+ color: #c000c0;
+ text-decoration: underline; }
+ .highlight .gr {
+ color: #c0c0c0;
+ font-weight: bold;
+ background-color: #c00000; }
+ .highlight .gh {
+ color: #cd5c5c; }
+ .highlight .gi {
+ color: #ffffff;
+ background-color: #0000c0; }
+ .highlight span.go {
+ color: #add8e6;
+ font-weight: bold;
+ background-color: #4d4d4d; }
+ .highlight .gp {
+ color: #ffffff; }
+ .highlight .gs {
+ color: #ffffff; }
+ .highlight .gu {
+ color: #cd5c5c; }
+ .highlight .gt {
+ color: #c0c0c0;
+ font-weight: bold;
+ background-color: #c00000; }
+ .highlight .kc {
+ color: #f0e68c; }
+ .highlight .kd {
+ color: #f0e68c; }
+ .highlight .kn {
+ color: #f0e68c; }
+ .highlight .kp {
+ color: #f0e68c; }
+ .highlight .kr {
+ color: #f0e68c; }
+ .highlight .kt {
+ color: #bdb76b; }
+ .highlight .ld {
+ color: #ffffff; }
+ .highlight .m {
+ color: #ffffff; }
+ .highlight .s {
+ color: #ffffff; }
+ .highlight .na {
+ color: #ffffff; }
+ .highlight .nb {
+ color: #ffffff; }
+ .highlight .nc {
+ color: #ffffff; }
+ .highlight .no {
+ color: #ffa0a0; }
+ .highlight .nd {
+ color: #ffffff; }
+ .highlight .ni {
+ color: #ffdead; }
+ .highlight .ne {
+ color: #ffffff; }
+ .highlight .nf {
+ color: #ffffff; }
+ .highlight .nl {
+ color: #ffffff; }
+ .highlight .nn {
+ color: #ffffff; }
+ .highlight .nx {
+ color: #ffffff; }
+ .highlight .py {
+ color: #ffffff; }
+ .highlight .nt {
+ color: #f0e68c; }
+ .highlight .nv {
+ color: #98fb98; }
+ .highlight .ow {
+ color: #ffffff; }
+ .highlight .w {
+ color: #ffffff; }
+ .highlight .mf {
+ color: #ffffff; }
+ .highlight .mh {
+ color: #ffffff; }
+ .highlight .mi {
+ color: #ffffff; }
+ .highlight .mo {
+ color: #ffffff; }
+ .highlight .sb {
+ color: #ffffff; }
+ .highlight .sc {
+ color: #ffffff; }
+ .highlight .sd {
+ color: #ffffff; }
+ .highlight .s2 {
+ color: #ffffff; }
+ .highlight .se {
+ color: #ffffff; }
+ .highlight .sh {
+ color: #ffffff; }
+ .highlight .si {
+ color: #ffffff; }
+ .highlight .sx {
+ color: #ffffff; }
+ .highlight .sr {
+ color: #ffffff; }
+ .highlight .s1 {
+ color: #ffffff; }
+ .highlight .ss {
+ color: #ffffff; }
+ .highlight .bp {
+ color: #ffffff; }
+ .highlight .vc {
+ color: #98fb98; }
+ .highlight .vg {
+ color: #98fb98; }
+ .highlight .vi {
+ color: #98fb98; }
+ .highlight .il {
+ color: #ffffff; }
+ .highlight .bash .nv {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -o-user-select: none;
+ user-select: none; }
+
+/*!
+ * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */
+@font-face {
+ font-family: 'FontAwesome';
+ src: url("../fonts/fontawesome-webfont.eot?v=4.2.0");
+ src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.2.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg");
+ font-weight: normal;
+ font-style: normal; }
+.fa {
+ display: inline-block;
+ font: normal normal normal 14px/1 FontAwesome;
+ font-size: inherit;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale; }
+
+.fa-link:before {
+ content: "\f0c1"; }
+
+.fa-pencil:before {
+ content: "\f040"; }
+
+/* Base */
+* {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box; }
+
+body {
+ font: 300 21px Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif;
+ color: #ddd;
+ background-color: #333;
+ border-top: 5px solid #70c84c;
+ -webkit-box-shadow: inset 0 3px 30px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: inset 0 3px 30px rgba(0, 0, 0, 0.3);
+ box-shadow: inset 0 3px 30px rgba(0, 0, 0, 0.3);
+ text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
+ -webkit-font-feature-settings: "kern" 1;
+ -moz-font-feature-settings: "kern" 1;
+ -o-font-feature-settings: "kern" 1;
+ font-feature-settings: "kern" 1;
+ font-kerning: normal; }
+
+.clear {
+ display: block; }
+
+.clear:after {
+ content: " ";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden; }
+
+/* Sections */
+header,
+section,
+footer {
+ float: left;
+ width: 100%;
+ clear: both; }
+
+/* Header */
+header h1,
+header nav {
+ display: inline-block; }
+
+nav ul {
+ padding: 0;
+ margin: 0; }
+nav li {
+ display: inline-block; }
+
+.main-nav {
+ margin-top: 52px; }
+ .main-nav li {
+ margin-right: 10px; }
+ .main-nav li a {
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ font-weight: 900;
+ font-size: 14px;
+ padding: 0.5em 1em;
+ text-shadow: none;
+ text-transform: uppercase;
+ -webkit-transition: all 0.25s;
+ -moz-transition: all 0.25s;
+ -o-transition: all 0.25s;
+ transition: all 0.25s; }
+ .main-nav li a:hover {
+ background-color: #252525;
+ -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.1);
+ -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.1);
+ text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
+ .main-nav li.current a {
+ background-color: #70c84c;
+ color: #222;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5);
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3); }
+
+.mobile-nav ul {
+ overflow: hidden;
+ width: 100%;
+ display: table; }
+.mobile-nav a {
+ float: left;
+ width: 100%;
+ background-color: #333;
+ color: #70c84c;
+ text-align: center;
+ text-transform: uppercase;
+ font-size: 14px;
+ font-weight: 900;
+ padding: 5px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px; }
+.mobile-nav li {
+ display: table-cell;
+ width: 20%;
+ padding: 8px 2px; }
+.mobile-nav .current a {
+ background-color: #70c84c;
+ color: #222;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 5px rgba(0, 0, 0, 0.5);
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3); }
+
+/*
+ * This code is courtesy Ben Balter, modified by Parker Moore.
+ * http://ben.balter.com/2014/03/13/pages-anchor-links/
+ */
+.header-link {
+ position: relative;
+ left: 0.5em;
+ opacity: 0;
+ font-size: 0.8em;
+ -webkit-transition: opacity 0.2s ease-in-out 0.1s;
+ -moz-transition: opacity 0.2s ease-in-out 0.1s;
+ -o-transition: opacity 0.2s ease-in-out 0.1s;
+ transition: opacity 0.2s ease-in-out 0.1s; }
+
+h2:hover .header-link,
+h3:hover .header-link,
+h4:hover .header-link,
+h5:hover .header-link,
+h6:hover .header-link {
+ opacity: 1; }
+
+@media (max-width: 768px) {
+ .main-nav ul {
+ text-align: right; } }
+@media (max-width: 830px) {
+ .main-nav .show-on-mobiles {
+ display: inline; }
+ .main-nav .hide-on-mobiles {
+ display: none; } }
+/* Footer */
+footer {
+ background-color: #212121;
+ font-size: 16px;
+ padding-bottom: 5px;
+ color: #c0c0c0;
+ margin-top: 40px; }
+ footer a {
+ color: #fff; }
+ footer a:hover img {
+ opacity: 1; }
+ footer .align-right p {
+ display: inline-block; }
+ footer img {
+ display: inline-block;
+ position: relative;
+ top: 8px;
+ margin-left: 5px;
+ opacity: .8;
+ padding: 1px;
+ -webkit-transition: opacity 0.2s;
+ -moz-transition: opacity 0.2s;
+ -o-transition: opacity 0.2s;
+ transition: opacity 0.2s; }
+
+@media (max-width: 568px) {
+ footer .one-third p {
+ margin-bottom: 0; }
+ footer .two-thirds p {
+ margin-top: -20px; } }
+/* Intro */
+.intro .unit {
+ padding: 10px 0 40px; }
+.intro p {
+ font-size: 1.75em;
+ line-height: 1em;
+ margin: 0; }
+
+@media (min-width: 569px) {
+ .intro p {
+ font-size: 3.2em; } }
+/* Quickstart */
+.quickstart {
+ background-color: #3F1F1F;
+ color: #fff;
+ margin: 60px 0;
+ -webkit-box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.4);
+ -moz-box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.4);
+ box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.4); }
+ .quickstart .content {
+ padding: 0; }
+ .quickstart h3 {
+ font-size: 24px;
+ line-height: 24px;
+ margin-top: 20px;
+ text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8); }
+ .quickstart .code {
+ font-size: 12px;
+ display: block;
+ margin: 0 0 -30px; }
+
+@media (min-width: 768px) {
+ .quickstart .code {
+ font-size: 18px;
+ margin: -30px 0;
+ float: right; }
+ .quickstart h3 {
+ margin: 50px 0 0;
+ text-align: center; } }
+/* Code */
+.quickstart .code {
+ display: block;
+ padding: 0;
+ font-family: Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace;
+ line-height: 1.3em; }
+ .quickstart .code .title {
+ display: block;
+ text-align: center;
+ margin: 0 20px;
+ padding: 5px 0;
+ -webkit-border-radius: 5px 5px 0 0;
+ -moz-border-radius: 5px 5px 0 0;
+ border-radius: 5px 5px 0 0;
+ -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
+ font: 400 16px/24px 'Helvetica Neue', Helvetica, Arial, sans-serif;
+ color: #444;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ background-color: #f7f7f7;
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjclIiBzdG9wLWNvbG9yPSIjY2ZjZmNmIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), color-stop(7%, #cfcfcf), to(#aaaaaa));
+ background-image: -webkit-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%);
+ background-image: -moz-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%);
+ background-image: -o-linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%);
+ background-image: linear-gradient(top, #f7f7f7 0%, #cfcfcf 7%, #aaaaaa 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#aaaaaa',GradientType=0 );
+ border-bottom: 1px solid #111; }
+ .quickstart .code .shell {
+ padding: 20px;
+ text-shadow: none;
+ margin: 0 20px;
+ background-color: #171717;
+ -webkit-border-radius: 0 0 5px 5px;
+ -moz-border-radius: 0 0 5px 5px;
+ border-radius: 0 0 5px 5px;
+ -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3); }
+ .quickstart .code .line {
+ display: block;
+ margin: 0;
+ padding: 0; }
+ .quickstart .code .line span {
+ display: inline-block; }
+ .quickstart .code .path {
+ color: #87ceeb;
+ -webkit-user-select: none;
+ /* Chrome all / Safari all */
+ -moz-user-select: none;
+ /* Firefox all */
+ -ms-user-select: none;
+ /* IE 10+ */
+ -o-user-select: none;
+ user-select: none; }
+ .quickstart .code .prompt {
+ color: #cd5c5c;
+ -webkit-user-select: none;
+ /* Chrome all / Safari all */
+ -moz-user-select: none;
+ /* Firefox all */
+ -ms-user-select: none;
+ /* IE 10+ */
+ -o-user-select: none;
+ user-select: none; }
+ .quickstart .code .command {
+ color: #f0e68c; }
+ .quickstart .code .output {
+ color: #888; }
+
+@media (min-width: 768px) {
+ .free-hosting img {
+ float: left;
+ margin: -20px -30px -30px -50px;
+ width: 300px;
+ height: 251px; }
+ .free-hosting .pane-content {
+ margin-top: 35px;
+ padding-right: 30px; }
+ .free-hosting p,
+ .free-hosting a {
+ font-size: 18px; }
+ .free-hosting .pane:after {
+ content: " ";
+ float: right;
+ background: url(../img/footer-arrow.png) top left no-repeat;
+ width: 73px;
+ height: 186px;
+ position: absolute;
+ right: 0;
+ bottom: -30px; } }
+/* Article - Used for both docs and news */
+article {
+ background-color: #444;
+ -webkit-border-radius: 10px;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+ padding: 20px;
+ margin: 0 10px;
+ -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
+ font-size: 16px; }
+
+@media (max-width: 480px) {
+ article ul {
+ padding-left: 20px; } }
+@media (max-width: 568px) {
+ article {
+ margin: 0; } }
+@media (min-width: 768px) {
+ article {
+ padding: 40px 40px 30px;
+ font-size: 21px; } }
+/* Right-side nav - used by both docs and news */
+aside {
+ padding-top: 30px; }
+ aside h4 {
+ text-transform: uppercase;
+ font-size: 14px;
+ font-weight: 700;
+ padding: 0 0 10px 30px;
+ margin-left: -30px;
+ display: inline-block;
+ border-bottom: 1px solid #c00; }
+ aside ul {
+ padding-left: 0; }
+ aside ul:first-child {
+ margin-top: 0; }
+ aside li {
+ list-style-type: none; }
+ aside li a {
+ font-size: 16px;
+ position: relative; }
+ aside li.current a:before {
+ content: "";
+ border-color: transparent transparent transparent #444;
+ border-style: solid;
+ border-width: 10px;
+ width: 0;
+ height: 0;
+ position: absolute;
+ top: 0;
+ left: -30px; }
+
+/* Documentation */
+.docs article {
+ min-height: 800px; }
+.docs .content {
+ padding: 0; }
+
+.section-nav {
+ text-align: center;
+ padding-top: 40px;
+ position: relative;
+ background: url(../img/article-footer.png) top center no-repeat;
+ margin: 40px -20px 10px; }
+ .section-nav > div {
+ width: 49.5%; }
+ .section-nav a,
+ .section-nav span {
+ color: #fff;
+ font-size: 16px;
+ text-transform: uppercase;
+ font-weight: 700;
+ padding: 8px 12px 10px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ /*border: 1px solid #333;*/
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.5);
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.5);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.5);
+ background-color: #767676; }
+ .section-nav a:hover {
+ color: #fff;
+ background-color: #888; }
+ .section-nav .next,
+ .section-nav .prev {
+ position: relative; }
+ .section-nav .next:after,
+ .section-nav .prev:before {
+ font-size: 36px;
+ color: #222;
+ font-weight: 900;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
+ position: absolute;
+ top: -7px; }
+ .section-nav .next:after {
+ content: '\203A';
+ right: 10px; }
+ .section-nav .prev:before {
+ content: '\2039';
+ left: 10px; }
+ .section-nav .prev,
+ .section-nav .prev:hover {
+ padding-left: 30px; }
+ .section-nav .next,
+ .section-nav .next:hover {
+ padding-right: 30px; }
+ .section-nav .disabled {
+ opacity: .5;
+ cursor: default; }
+
+.improve {
+ padding-top: 25px;
+ font-size: 16px; }
+ .improve a {
+ color: #999; }
+
+.docs-nav-mobile select {
+ color: #000;
+ width: 100%; }
+
+/* News */
+article h2:first-child {
+ margin-top: 0; }
+
+.post-category,
+.post-meta {
+ display: inline-block;
+ vertical-align: middle;
+ font-size: .8em; }
+
+.post-category {
+ display: inline-block;
+ margin-left: -30px;
+ padding: 6px 10px 8px;
+ padding-left: 50px;
+ -webkit-border-radius: 0 5px 5px 0;
+ -moz-border-radius: 0 5px 5px 0;
+ border-radius: 0 5px 5px 0;
+ position: relative;
+ -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3);
+ box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3);
+ background-color: #9e2812;
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#9e2812), to(#6f0d0d));
+ background-image: -webkit-linear-gradient(top, #9e2812 0%, #6f0d0d 100%);
+ background-image: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%);
+ background-image: -o-linear-gradient(top, #9e2812 0%, #6f0d0d 100%);
+ background-image: linear-gradient(to bottom, #9e2812 0%, #6f0d0d 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e2812', endColorstr='#6f0d0d',GradientType=0 ); }
+ .post-category:before {
+ content: "";
+ position: absolute;
+ top: -10px;
+ left: 0;
+ border-color: transparent #6f0d0d #6f0d0d transparent;
+ border-style: solid;
+ border-width: 5px;
+ width: 0;
+ height: 0; }
+
+.post-content img {
+ max-width: 100%; }
+
+.label {
+ float: left;
+ text-transform: uppercase;
+ font-weight: 700;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5); }
+
+@media (max-width: 568px) {
+ .post-category {
+ padding-left: 30px; } }
+@media (min-width: 768px) {
+ .post-category {
+ margin-left: -50px; } }
+.avatar {
+ -webkit-border-radius: 3px;
+ -moz-border-radius: 3px;
+ border-radius: 3px;
+ display: inline-block;
+ vertical-align: middle; }
+
+.post-meta {
+ padding: 5px 0;
+ color: #c0c0c0;
+ font-weight: 600;
+ text-shadow: 0 -1px 0 #000; }
+
+.post-date,
+.post-author {
+ margin-left: 10px; }
+
+.news article + article {
+ margin-top: -10px;
+ -webkit-border-radius: 0 0 10px 10px;
+ -moz-border-radius: 0 0 10px 10px;
+ border-radius: 0 0 10px 10px;
+ border-top: 1px solid #555;
+ -webkit-box-shadow: 0 -1px 0 #2f2f2f;
+ -moz-box-shadow: 0 -1px 0 #2f2f2f;
+ box-shadow: 0 -1px 0 #2f2f2f; }
+
+/* Code Highlighting */
+pre,
+code {
+ white-space: pre;
+ display: inline-block;
+ margin: 0;
+ font: 14px/1.8em Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace;
+ padding: 0 0.5em; }
+
+@media (min-width: 768px) {
+ pre, code {
+ font-size: 16px; } }
+.highlight,
+p > pre,
+p > code,
+p > nobr > code,
+li > code,
+h5 > code,
+.note > code {
+ background-color: #2b2b2b;
+ color: #fff;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ -webkit-box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.1), 0 -1px 0 rgba(0, 0, 0, 0.5);
+ -moz-box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.1), 0 -1px 0 rgba(0, 0, 0, 0.5);
+ box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.1), 0 -1px 0 rgba(0, 0, 0, 0.5); }
+
+.note code {
+ background-color: #333;
+ background-color: rgba(0, 0, 0, 0.2);
+ margin-left: 2.5px;
+ margin-right: 2.5px;
+ font-size: 0.8em; }
+
+.highlight {
+ margin: 1em 0;
+ padding: 10px 0;
+ width: 100%;
+ overflow: auto; }
+
+/* HTML Elements */
+h1, h2, h3, h4, h5, h6 {
+ margin: 0; }
+
+a {
+ color: #70c84c;
+ text-decoration: none;
+ -webkit-transition: all 0.25s;
+ -moz-transition: all 0.25s;
+ -o-transition: all 0.25s;
+ transition: all 0.25s; }
+ a:hover {
+ color: #70c84c; }
+
+strong {
+ font-weight: 700; }
+
+p {
+ line-height: 1.5em; }
+
+.left {
+ float: left; }
+
+.right {
+ float: right; }
+
+.align-right {
+ text-align: right; }
+
+.align-left {
+ text-align: left; }
+
+.align-center {
+ text-align: center; }
+
+/* Article HTML */
+article h2, article h3, article h4, article h5, article h6 {
+ margin: 1em 0; }
+article h4 {
+ color: #fff; }
+article ul li p {
+ margin: 0; }
+article ul li blockquote {
+ margin: 10px 0; }
+article ul li,
+article ol li {
+ line-height: 1.5em;
+ margin-bottom: 0.5em; }
+
+h5, h6 {
+ font-size: 1em;
+ font-style: italic; }
+
+blockquote {
+ border-left: 2px solid #777;
+ padding-left: 20px;
+ font-style: italic;
+ font-size: 18px;
+ font-weight: 500; }
+
+/* Tables */
+table {
+ width: 100%;
+ background-color: #555;
+ margin: .5em 0;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }
+
+thead {
+ -webkit-border-top-left-radius: 5px;
+ -moz-border-radius-topleft: 5px;
+ border-top-left-radius: 5px;
+ -webkit-border-top-right-radius: 5px;
+ -moz-border-radius-topright: 5px;
+ border-top-right-radius: 5px;
+ color: #fff;
+ background-color: #3a3a3a;
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNhM2EzYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTFlMWUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#3a3a3a), to(#1e1e1e));
+ background-image: -webkit-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%);
+ background-image: -moz-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%);
+ background-image: -o-linear-gradient(top, #3a3a3a 0%, #1e1e1e 100%);
+ background-image: linear-gradient(to bottom, #3a3a3a 0%, #1e1e1e 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a3a3a', endColorstr='#1e1e1e',GradientType=0 ); }
+ thead th {
+ position: relative;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); }
+ thead th:first-child {
+ -webkit-border-top-left-radius: 5px;
+ -moz-border-radius-topleft: 5px;
+ border-top-left-radius: 5px; }
+ thead th:last-child {
+ -webkit-border-top-right-radius: 5px;
+ -moz-border-radius-topright: 5px;
+ border-top-right-radius: 5px; }
+
+td {
+ padding: .5em .75em; }
+
+td p {
+ margin: 0; }
+
+th {
+ text-transform: uppercase;
+ font-size: 16px;
+ padding: .5em .75em;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.9);
+ color: #888; }
+
+tbody td {
+ border-top: 1px solid #747474;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
+ background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+ background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
+ background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
+ background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
+ background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1affffff', endColorstr='#00ffffff',GradientType=0 ); }
+ tbody td p {
+ font-size: 16px; }
+ tbody td p code {
+ font-size: 14px; }
+
+code.option,
+th .option,
+code.filter,
+th .filter {
+ color: #50B600; }
+
+code.flag,
+th .flag,
+code.output,
+th .output {
+ color: #049DCE; }
+
+code.option,
+code.flag,
+code.filter,
+code.output {
+ margin-bottom: 2px; }
+
+/* Note types */
+.note {
+ margin: 30px 0;
+ margin-left: -30px;
+ padding: 20px 20px 24px;
+ padding-left: 50px;
+ -webkit-border-radius: 0 5px 5px 0;
+ -moz-border-radius: 0 5px 5px 0;
+ border-radius: 0 5px 5px 0;
+ position: relative;
+ -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3);
+ box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.3);
+ background-color: #7e6d42;
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdlNmQ0MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1YzRlMzUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#7e6d42), to(#5c4e35));
+ background-image: -webkit-linear-gradient(top, #7e6d42 0%, #5c4e35 100%);
+ background-image: -moz-linear-gradient(top, #7e6d42 0%, #5c4e35 100%);
+ background-image: -o-linear-gradient(top, #7e6d42 0%, #5c4e35 100%);
+ background-image: linear-gradient(to bottom, #7e6d42 0%, #5c4e35 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7e6d42', endColorstr='#5c4e35',GradientType=0 ); }
+
+@media (max-width: 568px) {
+ .note {
+ margin-right: -30px; } }
+@media (min-width: 768px) {
+ .note {
+ margin-left: -50px; } }
+.configtable {
+ font-size: 14px; }
+
+.note:before {
+ content: "";
+ position: absolute;
+ top: -10px;
+ left: 0;
+ border-color: transparent #222 #222 transparent;
+ border-style: solid;
+ border-width: 5px;
+ width: 0;
+ height: 0; }
+.note h5,
+.note p {
+ margin: 0;
+ color: #fff; }
+.note h5 {
+ line-height: 1.5em;
+ font-weight: 900;
+ font-style: normal; }
+.note p {
+ font-weight: 400;
+ font-size: .75em; }
+.note:after {
+ content: '\2605';
+ color: #70c84c;
+ position: absolute;
+ top: 14px;
+ left: 14px;
+ font-size: 28px;
+ font-weight: 700;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5); }
+
+.info {
+ background-color: #0389aa;
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAzODlhYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDYxN2YiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#0389aa), to(#00617f));
+ background-image: -webkit-linear-gradient(top, #0389aa 0%, #00617f 100%);
+ background-image: -moz-linear-gradient(top, #0389aa 0%, #00617f 100%);
+ background-image: -o-linear-gradient(top, #0389aa 0%, #00617f 100%);
+ background-image: linear-gradient(to bottom, #0389aa 0%, #00617f 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0389aa', endColorstr='#00617f',GradientType=0 ); }
+
+.warning {
+ background-color: #9e2812;
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#9e2812), to(#6f0d0d));
+ background-image: -webkit-linear-gradient(top, #9e2812 0%, #6f0d0d 100%);
+ background-image: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%);
+ background-image: -o-linear-gradient(top, #9e2812 0%, #6f0d0d 100%);
+ background-image: linear-gradient(to bottom, #9e2812 0%, #6f0d0d 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e2812', endColorstr='#6f0d0d',GradientType=0 ); }
+
+.unreleased {
+ background-color: #cd9239;
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2NkOTIzOSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhMjc1MjgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#cd9239), to(#a27528));
+ background-image: -webkit-linear-gradient(top, #cd9239 0%, #a27528 100%);
+ background-image: -moz-linear-gradient(top, #cd9239 0%, #a27528 100%);
+ background-image: -o-linear-gradient(top, #cd9239 0%, #a27528 100%);
+ background-image: linear-gradient(to bottom, #cd9239 0%, #a27528 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cd9239', endColorstr='#a27528',GradientType=0 ); }
+
+.info:before {
+ border-color: transparent #00617f #00617f transparent; }
+
+.warning:before {
+ border-color: transparent #6f0d0d #6f0d0d transparent; }
+
+.unreleased:before {
+ border-color: transparent #664719 #664719 transparent; }
+
+.info:after {
+ content: '\24D8';
+ color: #fff;
+ position: absolute;
+ top: 15px;
+ left: 15px;
+ font-size: 28px;
+ font-weight: 700;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5); }
+
+.warning:after {
+ content: '\203C';
+ color: #70c84c;
+ position: absolute;
+ top: 15px;
+ left: 15px;
+ font-size: 32px;
+ font-weight: 700;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.5); }
+
+.unreleased:after {
+ content: '\2692';
+ color: #2b2a12;
+ position: absolute;
+ top: 8px;
+ left: 15px;
+ font-size: 38px;
+ font-weight: 700;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); }
+
+/* Responsive tables */
+@media (max-width: 768px) {
+ .mobile-side-scroller {
+ overflow-x: scroll;
+ margin: 0 -40px;
+ padding: 0 10px; } }
+.show-on-mobiles {
+ display: none; }
+
+@media screen and (max-width: 568px) {
+ .show-on-mobiles {
+ display: block !important; }
+
+ a .show-on-mobiles {
+ display: inline !important; } }
+/* Helper class taken from Bootstrap.
+ Hides an element to all devices except screen readers.
+*/
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0; }
http://git-wip-us.apache.org/repos/asf/orc/blob/6a400548/develop/coding.html
----------------------------------------------------------------------
diff --git a/develop/coding.html b/develop/coding.html
new file mode 100644
index 0000000..5efe34c
--- /dev/null
+++ b/develop/coding.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML>
+<html lang="en-US">
+<head>
+ <meta charset="UTF-8">
+ <title>Coding Guidelines</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <meta name="generator" content="Jekyll v2.4.0">
+ <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
+ <link rel="stylesheet" href="/css/screen.css">
+ <link rel="icon" type="image/x-icon" href="/favicon.ico">
+ <!--[if lt IE 9]>
+ <script src="/js/html5shiv.min.js"></script>
+ <script src="/js/respond.min.js"></script>
+ <![endif]-->
+</head>
+
+
+<body class="wrap">
+ <header role="banner">
+ <nav class="mobile-nav show-on-mobiles">
+ <ul>
+ <li class="">
+ <a href="/">Home</a>
+ </li>
+ <li class="">
+ <a href="/docs/">Documentation</a>
+ </li>
+ <li class="">
+ <a href="/talks/">Talks</a>
+ </li>
+ <li class="">
+ <a href="/news/">News</a>
+ </li>
+ <li class="">
+ <a href="/help/">Help</a>
+ </li>
+ <li class="current">
+ <a href="/develop/">Develop</a>
+ </li>
+</ul>
+
+ </nav>
+ <div class="grid">
+ <div class="unit one-third center-on-mobiles">
+ <h1>
+ <a href="/">
+ <span class="sr-only">Apache ORC</span>
+ <img src="/img/logo.png" width="249" height="115" alt="ORC Logo">
+ </a>
+ </h1>
+ </div>
+ <nav class="main-nav unit two-thirds hide-on-mobiles">
+ <ul>
+ <li class="">
+ <a href="/">Home</a>
+ </li>
+ <li class="">
+ <a href="/docs/">Documentation</a>
+ </li>
+ <li class="">
+ <a href="/talks/">Talks</a>
+ </li>
+ <li class="">
+ <a href="/news/">News</a>
+ </li>
+ <li class="">
+ <a href="/help/">Help</a>
+ </li>
+ <li class="current">
+ <a href="/develop/">Develop</a>
+ </li>
+</ul>
+
+ </nav>
+ </div>
+</header>
+
+
+ <section class="standalone">
+ <div class="grid">
+
+ <div class="unit whole">
+ <article>
+ <h1>Coding Guidelines</h1>
+ <h2 id="general-rules">General rules</h2>
+
+<ul>
+ <li>All files must have an Apache copyright header at the top of the file.</li>
+ <li>Code should be removed rather than commented out.</li>
+ <li>All public functions should have javadoc comments.</li>
+ <li>Always use braces to surround branches.</li>
+ <li>try-finally should be avoided.</li>
+</ul>
+
+<h2 id="formatting">Formatting</h2>
+
+<ul>
+ <li>All files must have an 80 character maximum line length.</li>
+ <li>Indentation should be 2 spaces.</li>
+ <li>Files should use spaces instead of tabs.</li>
+ <li>Wrapping lines
+ <ul>
+ <li>Break after a comma.</li>
+ <li>Break before an operator.</li>
+ <li>Prefer higher-level breaks to lower-level breaks.</li>
+ <li>Align the new line with beginning of the expression at the same level
+on the previous line.</li>
+ <li>If the above rules lead to confusing code, just indent 8 spaces.</li>
+ </ul>
+ </li>
+ <li>One variable declaration per a line.</li>
+</ul>
+
+<h2 id="naming">Naming</h2>
+
+<ul>
+ <li>Packages should be all lowercase.
+ <ul>
+ <li>C++ code should be in <code>orc::</code>.</li>
+ <li>Java code should be in <code>org.apache.orc</code>, except for compatibility classes,
+which should be in <code>org.apache.hadoop.hive.ql.io.orc</code>.</li>
+ </ul>
+ </li>
+ <li>Classes should be in mixed case.</li>
+ <li>Variables should be in camel case.</li>
+ <li>Constants should be in upper case.</li>
+</ul>
+
+
+ </article>
+ </div>
+
+ <div class="clear"></div>
+
+ </div>
+</section>
+
+
+ <footer role="contentinfo">
+ <p>The contents of this website are © 2015
+ <a href="https://www.apache.org/">Apache Software Foundation</a>
+ under the terms of the <a
+ href="https://www.apache.org/licenses/LICENSE-2.0.html">
+ Apache License v2</a>. Apache ORC and its logo are trademarks
+ of the Apache Software Foundation.</p>
+</footer>
+
+ <script>
+ var anchorForId = function (id) {
+ var anchor = document.createElement("a");
+ anchor.className = "header-link";
+ anchor.href = "#" + id;
+ anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
+ anchor.title = "Permalink";
+ return anchor;
+ };
+
+ var linkifyAnchors = function (level, containingElement) {
+ var headers = containingElement.getElementsByTagName("h" + level);
+ for (var h = 0; h < headers.length; h++) {
+ var header = headers[h];
+
+ if (typeof header.id !== "undefined" && header.id !== "") {
+ header.appendChild(anchorForId(header.id));
+ }
+ }
+ };
+
+ document.onreadystatechange = function () {
+ if (this.readyState === "complete") {
+ var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
+ if (!contentBlock) {
+ return;
+ }
+ for (var level = 1; level <= 6; level++) {
+ linkifyAnchors(level, contentBlock);
+ }
+ }
+ };
+</script>
+
+
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/orc/blob/6a400548/develop/index.html
----------------------------------------------------------------------
diff --git a/develop/index.html b/develop/index.html
new file mode 100644
index 0000000..0fbbcec
--- /dev/null
+++ b/develop/index.html
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML>
+<html lang="en-US">
+<head>
+ <meta charset="UTF-8">
+ <title>Developing</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <meta name="generator" content="Jekyll v2.4.0">
+ <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
+ <link rel="stylesheet" href="/css/screen.css">
+ <link rel="icon" type="image/x-icon" href="/favicon.ico">
+ <!--[if lt IE 9]>
+ <script src="/js/html5shiv.min.js"></script>
+ <script src="/js/respond.min.js"></script>
+ <![endif]-->
+</head>
+
+
+<body class="wrap">
+ <header role="banner">
+ <nav class="mobile-nav show-on-mobiles">
+ <ul>
+ <li class="">
+ <a href="/">Home</a>
+ </li>
+ <li class="">
+ <a href="/docs/">Documentation</a>
+ </li>
+ <li class="">
+ <a href="/talks/">Talks</a>
+ </li>
+ <li class="">
+ <a href="/news/">News</a>
+ </li>
+ <li class="">
+ <a href="/help/">Help</a>
+ </li>
+ <li class="current">
+ <a href="/develop/">Develop</a>
+ </li>
+</ul>
+
+ </nav>
+ <div class="grid">
+ <div class="unit one-third center-on-mobiles">
+ <h1>
+ <a href="/">
+ <span class="sr-only">Apache ORC</span>
+ <img src="/img/logo.png" width="249" height="115" alt="ORC Logo">
+ </a>
+ </h1>
+ </div>
+ <nav class="main-nav unit two-thirds hide-on-mobiles">
+ <ul>
+ <li class="">
+ <a href="/">Home</a>
+ </li>
+ <li class="">
+ <a href="/docs/">Documentation</a>
+ </li>
+ <li class="">
+ <a href="/talks/">Talks</a>
+ </li>
+ <li class="">
+ <a href="/news/">News</a>
+ </li>
+ <li class="">
+ <a href="/help/">Help</a>
+ </li>
+ <li class="current">
+ <a href="/develop/">Develop</a>
+ </li>
+</ul>
+
+ </nav>
+ </div>
+</header>
+
+
+ <section class="standalone">
+ <div class="grid">
+
+ <div class="unit whole">
+ <article>
+ <h1>Developing</h1>
+ <p>Want to help add a feature or fix a bug?</p>
+
+<h2 id="project-members">Project Members</h2>
+
+<table>
+ <thead>
+ <tr>
+ <th style="text-align: left">Name</th>
+ <th style="text-align: left">Apache Id</th>
+ <th style="text-align: left">Role</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: left">Chris Douglas</td>
+ <td style="text-align: left">cdouglas</td>
+ <td style="text-align: left">PMC</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Alan Gates</td>
+ <td style="text-align: left">gates</td>
+ <td style="text-align: left">PMC</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Gunther Hagleitner</td>
+ <td style="text-align: left">gunther</td>
+ <td style="text-align: left">Committer</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Prasanth Jayachandran</td>
+ <td style="text-align: left">prasanthj</td>
+ <td style="text-align: left">PMC</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Lefty Leverenz</td>
+ <td style="text-align: left">leftyl</td>
+ <td style="text-align: left">PMC</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Owen O’Malley</td>
+ <td style="text-align: left">omalley</td>
+ <td style="text-align: left">PMC</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Aliaksei Sandryhaila</td>
+ <td style="text-align: left">?</td>
+ <td style="text-align: left">Committer</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Sergey Shelukhin</td>
+ <td style="text-align: left">sershe</td>
+ <td style="text-align: left">Committer</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Gopal Vijayaraghavan</td>
+ <td style="text-align: left">gopalv</td>
+ <td style="text-align: left">Committer</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Stephen Walkauskas</td>
+ <td style="text-align: left">?</td>
+ <td style="text-align: left">Committer</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Kevin Wilfong</td>
+ <td style="text-align: left">kevinwilfong</td>
+ <td style="text-align: left">Committer</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">Xuefu Zhang</td>
+ <td style="text-align: left">xuefu</td>
+ <td style="text-align: left">Committer</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="mailing-lists">Mailing Lists</h2>
+
+<p>There are several development mailing lists for ORC:</p>
+
+<ul>
+ <li><a href="mailto:dev@orc.apache.org">dev@orc.apache.org</a> - Development discussions
+with archive <a href="https://mail-archives.apache.org/mod_mbox/orc-dev/">here</a></li>
+ <li><a href="mailto:issues@orc.apache.org">issues@orc.apache.org</a> - Bug tracking
+with archive <a href="https://mail-archives.apache.org/mod_mbox/orc-issues/">here</a></li>
+ <li><a href="mailto:commits@orc.apache.org">commits@orc.apache.org</a> - Git tracking
+with archive <a href="https://mail-archives.apache.org/mod_mbox/orc-commits/">here</a></li>
+</ul>
+
+<p>You can subscribe to the lists by sending email to
+<em>list</em>-subscribe@orc.apache.org and unsubscribe by sending email to
+<em>list</em>-unsubscribe@orc.apache.org.</p>
+
+<h2 id="source-code">Source code</h2>
+
+<p>ORC uses git for version control. Get the source code:</p>
+
+<p><code>% git clone https://git-wip-us.apache.org/repos/asf/orc.git</code></p>
+
+<p>The important branches are:</p>
+
+<ul>
+ <li>master - The trunk for all developement</li>
+ <li>asf-site - The pages that are deployed to https://orc.apache.org/</li>
+</ul>
+
+<p>Please check our <a href="/develop/coding.html">coding guidelines</a>.</p>
+
+<h2 id="reviews">Reviews</h2>
+
+<p>All code must be +1’ed by a committer other than the author prior to its
+commit.</p>
+
+ </article>
+ </div>
+
+ <div class="clear"></div>
+
+ </div>
+</section>
+
+
+ <footer role="contentinfo">
+ <p>The contents of this website are © 2015
+ <a href="https://www.apache.org/">Apache Software Foundation</a>
+ under the terms of the <a
+ href="https://www.apache.org/licenses/LICENSE-2.0.html">
+ Apache License v2</a>. Apache ORC and its logo are trademarks
+ of the Apache Software Foundation.</p>
+</footer>
+
+ <script>
+ var anchorForId = function (id) {
+ var anchor = document.createElement("a");
+ anchor.className = "header-link";
+ anchor.href = "#" + id;
+ anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
+ anchor.title = "Permalink";
+ return anchor;
+ };
+
+ var linkifyAnchors = function (level, containingElement) {
+ var headers = containingElement.getElementsByTagName("h" + level);
+ for (var h = 0; h < headers.length; h++) {
+ var header = headers[h];
+
+ if (typeof header.id !== "undefined" && header.id !== "") {
+ header.appendChild(anchorForId(header.id));
+ }
+ }
+ };
+
+ document.onreadystatechange = function () {
+ if (this.readyState === "complete") {
+ var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
+ if (!contentBlock) {
+ return;
+ }
+ for (var level = 1; level <= 6; level++) {
+ linkifyAnchors(level, contentBlock);
+ }
+ }
+ };
+</script>
+
+
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/orc/blob/6a400548/doap_orc.rdf
----------------------------------------------------------------------
diff --git a/doap_orc.rdf b/doap_orc.rdf
new file mode 100644
index 0000000..26817ee
--- /dev/null
+++ b/doap_orc.rdf
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl"?>
+<rdf:RDF xml:lang="en"
+ xmlns="http://usefulinc.com/ns/doap#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:asfext="http://projects.apache.org/ns/asfext#"
+ xmlns:foaf="http://xmlns.com/foaf/0.1/">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ 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.
+-->
+ <Project rdf:about="https://orc.apache.org">
+ <created>2015-05-12</created>
+ <license rdf:resource="http://spdx.org/licenses/Apache-2.0" />
+ <name>Apache Orc</name>
+ <homepage rdf:resource="https://orc.apache.org" />
+ <asfext:pmc rdf:resource="https://orc.apache.org" />
+ <shortdesc>A high-performance columnar file format for Hadoop workloads.</shortdesc>
+ <description>ORC is a self-describing type-aware columnar file format designed for
+Hadoop workloads. It is optimized for large streaming reads, but with
+integrated support for finding required rows quickly. Storing data in
+a columnar format lets the reader read, decompress, and process only
+the values that are required for the current query.</description>
+ <bug-database rdf:resource="https://issues.apache.org/jira/browse/orc" />
+ <mailing-list rdf:resource="https://orc.apache.org/develop" />
+ <download-page rdf:resource="https://orc.apache.org/downloads" />
+ <programming-language>Java</programming-language>
+ <programming-language>C++</programming-language>
+ <category rdf:resource="http://projects.apache.org/category/big-data" />
+ <repository>
+ <GitRepository>
+ <location rdf:resource="https://git-wip-us.apache.org/repos/asf/orc.git"/>
+ <browse rdf:resource="https://github.com/apache/orc"/>
+ </GitRepository>
+ </repository>
+ <maintainer>
+ <foaf:Person>
+ <foaf:name>Owen O'Malley</foaf:name>
+ <foaf:mbox rdf:resource="mailto:omalley@apache.org"/>
+ </foaf:Person>
+ </maintainer>
+ </Project>
+</rdf:RDF>
http://git-wip-us.apache.org/repos/asf/orc/blob/6a400548/docs/acid.html
----------------------------------------------------------------------
diff --git a/docs/acid.html b/docs/acid.html
new file mode 100644
index 0000000..52ba734
--- /dev/null
+++ b/docs/acid.html
@@ -0,0 +1,1179 @@
+<!DOCTYPE HTML>
+<html lang="en-US">
+<head>
+ <meta charset="UTF-8">
+ <title>ACID support</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <meta name="generator" content="Jekyll v2.4.0">
+ <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
+ <link rel="stylesheet" href="/css/screen.css">
+ <link rel="icon" type="image/x-icon" href="/favicon.ico">
+ <!--[if lt IE 9]>
+ <script src="/js/html5shiv.min.js"></script>
+ <script src="/js/respond.min.js"></script>
+ <![endif]-->
+</head>
+
+
+<body class="wrap">
+ <header role="banner">
+ <nav class="mobile-nav show-on-mobiles">
+ <ul>
+ <li class="">
+ <a href="/">Home</a>
+ </li>
+ <li class="current">
+ <a href="/docs/">Documentation</a>
+ </li>
+ <li class="">
+ <a href="/talks/">Talks</a>
+ </li>
+ <li class="">
+ <a href="/news/">News</a>
+ </li>
+ <li class="">
+ <a href="/help/">Help</a>
+ </li>
+ <li class="">
+ <a href="/develop/">Develop</a>
+ </li>
+</ul>
+
+ </nav>
+ <div class="grid">
+ <div class="unit one-third center-on-mobiles">
+ <h1>
+ <a href="/">
+ <span class="sr-only">Apache ORC</span>
+ <img src="/img/logo.png" width="249" height="115" alt="ORC Logo">
+ </a>
+ </h1>
+ </div>
+ <nav class="main-nav unit two-thirds hide-on-mobiles">
+ <ul>
+ <li class="">
+ <a href="/">Home</a>
+ </li>
+ <li class="current">
+ <a href="/docs/">Documentation</a>
+ </li>
+ <li class="">
+ <a href="/talks/">Talks</a>
+ </li>
+ <li class="">
+ <a href="/news/">News</a>
+ </li>
+ <li class="">
+ <a href="/help/">Help</a>
+ </li>
+ <li class="">
+ <a href="/develop/">Develop</a>
+ </li>
+</ul>
+
+ </nav>
+ </div>
+</header>
+
+
+ <section class="docs">
+ <div class="grid">
+
+ <div class="docs-nav-mobile unit whole show-on-mobiles">
+ <select onchange="if (this.value) window.location.href=this.value">
+ <option value="">Navigate the docs…</option>
+
+ <optgroup label="Overview">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/index.html">Background</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/types.html">Types</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/indexes.html">Indexes</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/acid.html">ACID support</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </optgroup>
+
+ <optgroup label="Hive Usage">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/hive-ddl.html">Hive DDL</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/hive-config.html">Hive Configuration</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </optgroup>
+
+ <optgroup label="Format Specification">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/spec-intro.html">Introduction</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/file-tail.html">File Tail</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/compression.html">Compression</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/run-length.html">Run Length Encoding</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/stripes.html">Stripes</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/encodings.html">Column Encodings</option>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <option value="/docs/spec-index.html">Indexes</option>
+
+
+
+
+
+
+
+
+
+
+ </optgroup>
+
+ </select>
+</div>
+
+
+ <div class="unit four-fifths">
+ <article>
+ <h1>ACID support</h1>
+ <p>Historically, the only way to atomically add data to a table in Hive
+was to add a new partition. Updating or deleting data in partition
+required removing the old partition and adding it back with the new
+data and it wasn’t possible to do atomically.</p>
+
+<p>However, user’s data is continually changing and as Hive matured,
+users required reliability guarantees despite the churning data
+lake. Thus, we needed to implement ACID transactions that guarantee
+atomicity, consistency, isolation, and durability. Although we support
+ACID transactions, they are not designed to support OLTP requirements.
+It can support millions of rows updated per a transaction, but it can
+not support millions of transactions an hour.</p>
+
+<p>Additionally, we wanted to support streaming ingest in to Hive tables where
+streaming applications like Flume or Storm could write data into Hive and
+have transactions commit once a minute and queries would either see all of
+a transaction or none of it.</p>
+
+<p>HDFS is a write once file system and ORC is a write-once file format, so edits
+were implemented using base files and delta files where insert, update, and
+delete operations are recorded.</p>
+
+<p>Hive tables without ACID enabled have each partition in HDFS look like:</p>
+
+<table>
+ <thead>
+ <tr>
+ <th style="text-align: left">Filename</th>
+ <th style="text-align: left">Contents</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: left">00000_0</td>
+ <td style="text-align: left">Bucket 0</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">00001_0</td>
+ <td style="text-align: left">Bucket 1</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>With ACID enabled, the system will add delta directories:</p>
+
+<table>
+ <thead>
+ <tr>
+ <th style="text-align: left">Filename</th>
+ <th style="text-align: left">Contents</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: left">00000_0</td>
+ <td style="text-align: left">Bucket 0 base</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">00001_0</td>
+ <td style="text-align: left">Bucket 1 base</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">delta_0000005_0000005/bucket_00000</td>
+ <td style="text-align: left">Transaction 5 to 5, bucket 0 delta</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">delta_0000005_0000005/bucket_00001</td>
+ <td style="text-align: left">Transaction 5 to 5, bucket 1 delta</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>When too many deltas have been created, a minor compaction will automatically
+run and merge a set of transactions into a single delta:</p>
+
+<table>
+ <thead>
+ <tr>
+ <th style="text-align: left">Filename</th>
+ <th style="text-align: left">Contents</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: left">00000_0</td>
+ <td style="text-align: left">Bucket 0 base</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">00001_0</td>
+ <td style="text-align: left">Bucket 1 base</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">delta_0000005_0000010/bucket_00000</td>
+ <td style="text-align: left">Transaction 5 to 10, bucket 0 delta</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">delta_0000005_0000010/bucket_00001</td>
+ <td style="text-align: left">Transaction 5 to 10, bucket 1 delta</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>When the deltas get large enough, major compaction will re-write the base
+to incorporate the deltas.</p>
+
+<table>
+ <thead>
+ <tr>
+ <th style="text-align: left">Filename</th>
+ <th style="text-align: left">Contents</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: left">base_0000010/bucket_00000</td>
+ <td style="text-align: left">Transactions upto 10, bucket 0 base</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">base_0000010/bucket_00001</td>
+ <td style="text-align: left">Transactions upto 10, bucket 1 base</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Reads and compactions do not require locks and thus compactions can
+not destructively modify their inputs, but rather write new
+directories.</p>
+
+<p>All rows are given an automatic assigned row id, which is the triple of
+original transaction id, bucket, and row id, that is guaranteed to be unique.
+All update and delete operations refer to that triple.</p>
+
+<p>The ORC files in an ACID table are extended with several column. They
+are the operation (insert, update, or delete), the triple that
+uniquely identifies the row (originalTransaction, bucket, rowId), and
+the current transaction.</p>
+
+<p><code>struct<
+ operation: int,
+ originalTransaction: bigInt,
+ bucket: int,
+ rowId: bitInt,
+ currentTransaction: bigInt,
+ row: struct<...>
+>
+</code></p>
+
+<p>The serialization for the operation codes is:</p>
+
+<table>
+ <thead>
+ <tr>
+ <th style="text-align: left">Operation</th>
+ <th style="text-align: left">Serialization</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: left">INSERT</td>
+ <td style="text-align: left">0</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">UPDATE</td>
+ <td style="text-align: left">1</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">DELETE</td>
+ <td style="text-align: left">2</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>When a application or query reads the ACID table, the reader provides
+the list of committed transactions to include. This list is produced
+by the Hive metastore when a query starts. The task does a merge
+sort. Each of the files is sorted by (originalTransaction ascending,
+bucket ascending, rowId ascending, and currentTransaction
+descending). Only the first record with a currentTransaction that is
+in the list of transactions to read is returned, which corresponds to
+the last visible update to a row.</p>
+
+<p>To support streaming ingest, we add two additional features. ORC files
+may have additional footers written in to their body that is parsable
+as a complete ORC file that only includes the records already
+written. As the file is later extended the preliminary file footer
+becomes dead space within the file. Secondly, a side file named
+“*_flush_length” is a small file that contains a set of 8 byte
+values. The last complete 8 byte value is the end of the last
+preliminary footer. </p>
+
+<p>Two properties are added to the metadata for ORC files to speed up the
+processing of the ACID tables. In particular, when a task is reading
+part of the base file for a bucket, it will use the first and last
+rowIds to find the corresponding spots in the delta files. The
+hive.acid.key.index lets the reader skip over stripes in the delta
+file that don’t need to be read in this task.</p>
+
+<table>
+ <thead>
+ <tr>
+ <th style="text-align: left">Key</th>
+ <th style="text-align: left">Meaning</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td style="text-align: left">hive.acid.stats</td>
+ <td style="text-align: left">Number of inserts, updates, and deletes comma separated</td>
+ </tr>
+ <tr>
+ <td style="text-align: left">hive.acid.key.index</td>
+ <td style="text-align: left">The last originalTransaction, bucket, rowId for each stripe</td>
+ </tr>
+ </tbody>
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <div class="section-nav">
+ <div class="left align-right">
+
+
+
+ <a href="/docs/indexes.html" class="prev">Back</a>
+
+ </div>
+ <div class="right align-left">
+
+
+
+ <a href="/docs/hive-ddl.html" class="next">Next</a>
+
+ </div>
+ </div>
+ <div class="clear"></div>
+
+
+ </article>
+ </div>
+
+ <div class="unit one-fifth hide-on-mobiles">
+ <aside>
+
+ <h4>Overview</h4>
+
+
+<ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/index.html">Background</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/types.html">Types</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/indexes.html">Indexes</a></li>
+
+
+
+
+
+
+
+
+
+
+
+ <li class="current"><a href="/docs/acid.html">ACID support</a></li>
+
+
+
+</ul>
+
+
+ <h4>Hive Usage</h4>
+
+
+<ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/hive-ddl.html">Hive DDL</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/hive-config.html">Hive Configuration</a></li>
+
+
+
+</ul>
+
+
+ <h4>Format Specification</h4>
+
+
+<ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/spec-intro.html">Introduction</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/file-tail.html">File Tail</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/compression.html">Compression</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/run-length.html">Run Length Encoding</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/stripes.html">Stripes</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/encodings.html">Column Encodings</a></li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class=""><a href="/docs/spec-index.html">Indexes</a></li>
+
+
+
+</ul>
+
+
+ </aside>
+</div>
+
+
+ <div class="clear"></div>
+
+ </div>
+ </section>
+
+
+ <footer role="contentinfo">
+ <p>The contents of this website are © 2015
+ <a href="https://www.apache.org/">Apache Software Foundation</a>
+ under the terms of the <a
+ href="https://www.apache.org/licenses/LICENSE-2.0.html">
+ Apache License v2</a>. Apache ORC and its logo are trademarks
+ of the Apache Software Foundation.</p>
+</footer>
+
+ <script>
+ var anchorForId = function (id) {
+ var anchor = document.createElement("a");
+ anchor.className = "header-link";
+ anchor.href = "#" + id;
+ anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
+ anchor.title = "Permalink";
+ return anchor;
+ };
+
+ var linkifyAnchors = function (level, containingElement) {
+ var headers = containingElement.getElementsByTagName("h" + level);
+ for (var h = 0; h < headers.length; h++) {
+ var header = headers[h];
+
+ if (typeof header.id !== "undefined" && header.id !== "") {
+ header.appendChild(anchorForId(header.id));
+ }
+ }
+ };
+
+ document.onreadystatechange = function () {
+ if (this.readyState === "complete") {
+ var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
+ if (!contentBlock) {
+ return;
+ }
+ for (var level = 1; level <= 6; level++) {
+ linkifyAnchors(level, contentBlock);
+ }
+ }
+ };
+</script>
+
+
+</body>
+</html>