diff --git a/.gitignore b/.gitignore index 40c77fd..2115369 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ cmake-build-debug/CMakeFiles/Makefile2 .idea /cmake-build-debug/antlr4cpp_generated_src/ /cmake-build-debug/locals/ +/docs/page/_site diff --git a/docs/_config.yml b/docs/_config.yml deleted file mode 100644 index c50ff38..0000000 --- a/docs/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-merlot \ No newline at end of file diff --git a/docs/assets/css/mobile.css b/docs/assets/css/mobile.css new file mode 100644 index 0000000..c860c09 --- /dev/null +++ b/docs/assets/css/mobile.css @@ -0,0 +1,510 @@ +/* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 9, 2012 */ + + +@font-face { + font-family: 'Open Sans'; + src: url('../fonts/opensans-regular-webfont.eot'); + src: url('../fonts/opensans-regular-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/opensans-regular-webfont.woff') format('woff'), + url('../fonts/opensans-regular-webfont.ttf') format('truetype'), + url('../fonts/opensans-regular-webfont.svg#OpenSansRegular') format('svg'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Open Sans'; + src: url('../fonts/opensans-italic-webfont.eot'); + src: url('../fonts/opensans-italic-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/opensans-italic-webfont.woff') format('woff'), + url('../fonts/opensans-italic-webfont.ttf') format('truetype'), + url('../fonts/opensans-italic-webfont.svg#OpenSansItalic') format('svg'); + font-weight: normal; + font-style: italic; +} + +@font-face { + font-family: 'Open Sans'; + src: url('../fonts/opensans-bold-webfont.eot'); + src: url('../fonts/opensans-bold-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/opensans-bold-webfont.woff') format('woff'), + url('../fonts/opensans-bold-webfont.ttf') format('truetype'), + url('../fonts/opensans-bold-webfont.svg#OpenSansBold') format('svg'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'Open Sans'; + src: url('../fonts/opensans-bolditalic-webfont.eot'); + src: url('../fonts/opensans-bolditalic-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/opensans-bolditalic-webfont.woff') format('woff'), + url('../fonts/opensans-bolditalic-webfont.ttf') format('truetype'), + url('../fonts/opensans-bolditalic-webfont.svg#OpenSansBoldItalic') format('svg'); + font-weight: bold; + font-style: italic; +} + +@font-face { + font-family: 'Open Sans'; + src: url('../fonts/opensans-extrabold-webfont.eot'); + src: url('../fonts/opensans-extrabold-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/opensans-extrabold-webfont.woff') format('woff'), + url('../fonts/opensans-extrabold-webfont.ttf') format('truetype'), + url('../fonts/opensans-extrabold-webfont.svg#OpenSansExtrabold') format('svg'); + font-weight: bolder; + font-style: normal; +} + + +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +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 { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* 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-collapse: collapse; + border-spacing: 0; +} + +header, footer, section { + display: block; + position: relative; +} + +/* STYLES */ + +div.shell { + display: block; + width: 640px; + margin: 0 auto; +} + +a#forkme_banner { + display: none; +} + +/* header */ + +header { + position: relative; + z-index: 2; + margin: 0; + max-width: 640px; + top: 51px; +} + +header span.ribbon-inner { + position: relative; + display: block; + background-color: #cd596b; + border: 8px solid #7c334f; + padding: 6px; + z-index: 1; +} + +header span.left-tail, header span.right-tail { + position: relative; + display: block; + width: 19px; + height: 10px; + background: transparent url(../images/ribbon-tail-sprite-2x.png) 0 0 no-repeat; + position: absolute; + bottom: -10px; + z-index: 0; +} + +header span.left-tail { + background-position: 0 0; + left: 0; +} + +header span.right-tail { + background-position: -19px 0; + right: 0; +} + +header h1 { + background-color: #7c334f; + font-size: 2em; + font-weight: bolder; + font-style: normal; + text-transform: uppercase; + color: #ece4d8; + text-align: center; + line-height:1; + padding: 14px 20px 0; +} + +header h2 { + background-color: #7c334f; + font: bold italic .85em/1.5 Georgia, Times, “Times New Roman”, serif; + color: #e69b95; + padding-bottom: 14px; + margin-top: -3px; + text-align: center; +} + +section#downloads { + position: relative; + display: block; + height: 171px; + width: 602px; + padding-bottom: 150px; + margin: 51px auto -250px; + z-index: 1; + background: transparent url(../images/shield.png) center 0 no-repeat; +} + +section#downloads a { + display: none; +} + +span.banner-fix { + background: transparent url(../images/shield-fallback.png) center top no-repeat; + display: block; + height: 31px; + position: absolute; + width: 640px; + top: 20px; + +} + +section#main_content { + z-index: 2; + padding: 20px 40px 0; + min-height:185px; +} + +/* footer */ + +footer { + background: none; + padding-top: 104px; + margin: -94px auto 40px; + max-width:640px; + text-align: center; +} + +footer span.ribbon-outer { + display: block; + position: relative; + border-bottom: 2px solid #bdb6ad; +} + +footer span.ribbon-inner { + position: relative; + display: block; + background-color: #cd596b; + border: 8px solid #7c334f; + padding: 6px; + z-index: 1; +} + +footer p { + font-family: 'Open Sans', sans-serif; + font-weight: bold; + font-size: .6em; + color: #8b786f; +} + +footer a { + color: #cd596b; +} + +footer span.ribbon-inner p { + background-color: #7c334f; + margin: 0; + color: #e69b95; + font: bold italic 22px/1 Georgia, Times, “Times New Roman”, serif; + height: auto; + line-height: 1.1; + padding: 20px 0px 10px; +} + +footer span.ribbon-inner a { + display: block; + position: relative; + bottom: 0; + color: #7eb0d2; + font-family: 'Open Sans', sans-serif; + text-transform: uppercase; + font-style: normal; + font-weight: bolder; + font-size: 38px; + padding-bottom: 10px; +} + +footer span.ribbon-inner a:hover { + color: #7eb0d2; +} + +footer span.left-tail, footer span.right-tail { + position: relative; + display: block; + width: 23px; + height: 126px; + background: transparent url(../images/small-ribbon-tail-sprite-2x.png) 0 0 no-repeat; + position: absolute; + top: -126px; + z-index: 0; +} + +footer span.left-tail { + background-position: 0 0; + left: 0; +} + +footer span.right-tail { + background-position: -23px 0; + right: 0; +} + +footer span.octocat { + background: transparent url(../images/octocat-2x.png) 0 0 no-repeat; + display: block; + width: 60px; + height: 60px; + margin: 20px auto 0;} + +/* content */ + +body { + background: #ece4d8; + font: normal normal 30px/1.5 Georgia, Palatino,” Palatino Linotype”, Times, “Times New Roman”, serif; + color: #544943; + -webkit-font-smoothing: antialiased; +} + +a, a:hover { + color: #417090; +} + +a { + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +h1,h2,h3,h4,h5,h6 { + font-family: 'Open Sans', sans-serif; + font-weight: bold; +} + +p { + margin: .7em 0 0; +} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +ol { + margin: .7em 0; + list-style-type: decimal; + padding-left: 1.35em; +} + +ul { + margin: .7em 0; + padding-left: 1.35em; +} + +ul li { + padding-left: 20px; + background: transparent url(../images/chevron-2x.png) left 15px no-repeat; +} + +blockquote { + font-family: 'Open Sans', sans-serif; + margin: 20px 0; + color: #8b786f; + padding-left: 1.35em; + background: transparent url('../images/blockquote-gfx-2x.png') 0 8px no-repeat; +} + +img { + -webkit-box-shadow: 0px 4px 0px #bdb6ad; + -moz-box-shadow: 0px 4px 0px #bdb6ad; + box-shadow: 0px 4px 0px #bdb6ad; + border: 4px solid #fff6e9; + max-width: 556px; +} + +hr { + border: none; + outline: none; + height: 42px; + background: transparent url('../images/hr-2x.jpg') center center repeat-x; + margin: 0 0 20px; +} + +code { + background: #fff6e9; + font: normal normal .9em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; + padding: 0 5px 1px; +} + +pre { + margin: 10px 0 20px; + padding: .7em; + background: #fff6e9; + border-bottom: 4px solid #bdb6ad; + font: normal normal .9em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; + overflow: auto; +} + +table { + background: #fff6e9; + display: table; + width: 100%; + border-collapse: separate; + border-bottom: 4px solid #bdb6ad; + margin: 10px 0; +} + +tr { + display: table-row; +} + +th { + display: table-cell; + padding: 2px 10px; + border: solid #ece4d8; + border-width: 0 4px 4px 0; + color: #cd596b; + font-family: 'Open Sans', sans-serif; + font-weight: bold; + font-size: .85em; +} + +td { + display: table-cell; + padding: 0 .7em; + border: solid #ece4d8; + border-width: 0 4px 4px 0; +} + +td:last-child, th:last-child { + border-right: none; +} + +tr:last-child td { + border-bottom: none; +} + +dl { + margin: .7em 0 20px; +} + +dt { + font-family: 'Open Sans', sans-serif; + font-weight: bold; +} + +dd { + padding-left: 1.35em; +} + +dd p:first-child { + margin-top: 0; +} + +/* Content based headers */ + +#main_content > .header-level-1:first-child, +#main_content > .header-level-2:first-child, +#main_content > .header-level-3:first-child, +#main_content > .header-level-4:first-child, +#main_content > .header-level-5:first-child, +#main_content > .header-level-6:first-child { + margin-top: 0; +} + +.header-level-1 { + font-size: 1.85em; + border-bottom: .2em double #d3ccc1; + color: #7c334f; + text-align: center; + font-style: italic; + margin: 1.1em 0 .38em; + line-height: 1.2; + padding-bottom: 10px +} + +.header-level-2 { + font-size: 1.58em; + color: #7c334f; + margin: .95em 0 .5em; + border-bottom: .1em solid #D3CCC1; + line-height: 1.2; + padding-bottom: 10px +} + +.header-level-3 { + margin: 20px 0 10px; + font-size: 1.45em; +} + +.header-level-4 { + margin: .6em 0; + font-size: 1.2em; + color: #cd596b; +} + +.header-level-5 { + margin: .7em 0; + font-size: 1em; + color: #8b786f; +} + +.header-level-6 { + margin: .8em 0; + font-size: .85em; + font-style: italic; +} \ No newline at end of file diff --git a/docs/assets/css/non-screen.css b/docs/assets/css/non-screen.css new file mode 100644 index 0000000..eea5ecd --- /dev/null +++ b/docs/assets/css/non-screen.css @@ -0,0 +1,154 @@ +a#forkme_banner { + display: none; +} + +div.shell { + width: 640px; +} + + +header { + max-width:640px; + margin: 0; + top: 51px; +} + +header span.ribbon-inner { + border: 8px solid #7c334f; + padding: 6px; +} + +header span.left-tail, header span.right-tail { + width: 19px; + height: 10px; + background: transparent url(../images/ribbon-tail-sprite-2x.png) 0 0 no-repeat; + bottom: -10px; +} + +header span.left-tail { + left: 0; +} + +header span.right-tail { + background-position: -19px 0; + right: 0; +} + +header h1 { + font-size: 2em; +} + +section#downloads { + height: 171px; + width: 602px; + margin: 51px auto -250px; + background: transparent url(../images/shield.png) center 0 no-repeat; +} + +section#downloads a { + display: none; +} + +span.banner-fix { + background: transparent url(../images/shield-fallback.png) center top no-repeat; + height: 31px; + width: 640px; + top: 20px; +} + +section#main_content { + padding: 20px 40px 0; +} + +footer { + max-width:640px; + background: none; +} + +footer span.left-tail, footer span.right-tail { + width: 23px; + height: 126px; + background: transparent url(../images/small-ribbon-tail-sprite-2x.png) 0 0 no-repeat; + top: -126px; +} + +footer span.left-tail { + left: 0; +} + +footer span.right-tail { + background-position: -23px 0; + right: 0; +} + +footer p { + font-size: .6em; +} + +footer span.ribbon-inner { + border: 8px solid #7c334f; + padding: 6px; +} + +footer span.ribbon-inner p { + font-size: 22px; + height: auto; + line-height: 1.1; + padding: 20px 0px 10px; +} + +footer span.ribbon-inner a { + font-size: 38px; + display: block; + bottom: 0; + padding-bottom: 10px; +} + +footer span.octocat { + background: transparent url(../images/octocat-2x.png) 0 0 no-repeat; + width: 60px; + height: 60px; + margin: 20px auto 0; +} + +body { + font: normal normal 30px/1.5 Georgia, Palatino,” Palatino Linotype”, Times, “Times New Roman”, serif; +} + +ul li { + padding-left: 20px; + background: transparent url(../images/chevron-2x.png) left 15px no-repeat; +} + +table { + border-bottom: 4px solid #bdb6ad; +} + +th { + border-width: 0 4px 4px 0; +} + +td { + border-width: 0 4px 4px 0; +} + +pre { + border-bottom: 4px solid #bdb6ad; +} + +img { + -webkit-box-shadow: 0px 4px 0px #bdb6ad; + -moz-box-shadow: 0px 4px 0px #bdb6ad; + box-shadow: 0px 4px 0px #bdb6ad; + border: 4px solid #fff6e9; + max-width: 556px; +} + +blockquote { + background: transparent url('../images/blockquote-gfx-2x.png') 0 8px no-repeat; +} + +hr { + height: 42px; + background: transparent url('../images/hr-2x.jpg') center center repeat-x; +} \ No newline at end of file diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css new file mode 100644 index 0000000..ef3ecfd --- /dev/null +++ b/docs/assets/css/style.css @@ -0,0 +1,218 @@ +@charset "UTF-8"; +/* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 9, 2012 */ +@import url("non-screen.css") handheld; +@import url("non-screen.css") only screen and (max-device-width: 640px); +@font-face { font-family: 'Open Sans'; src: url("../fonts/opensans-regular-webfont.eot"); src: url("../fonts/opensans-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/opensans-regular-webfont.woff") format("woff"), url("../fonts/opensans-regular-webfont.ttf") format("truetype"), url("../fonts/opensans-regular-webfont.svg#OpenSansRegular") format("svg"); font-weight: normal; font-style: normal; } +@font-face { font-family: 'Open Sans'; src: url("../fonts/opensans-italic-webfont.eot"); src: url("../fonts/opensans-italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/opensans-italic-webfont.woff") format("woff"), url("../fonts/opensans-italic-webfont.ttf") format("truetype"), url("../fonts/opensans-italic-webfont.svg#OpenSansItalic") format("svg"); font-weight: normal; font-style: italic; } +@font-face { font-family: 'Open Sans'; src: url("../fonts/opensans-bold-webfont.eot"); src: url("../fonts/opensans-bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/opensans-bold-webfont.woff") format("woff"), url("../fonts/opensans-bold-webfont.ttf") format("truetype"), url("../fonts/opensans-bold-webfont.svg#OpenSansBold") format("svg"); font-weight: bold; font-style: normal; } +@font-face { font-family: 'Open Sans'; src: url("../fonts/opensans-bolditalic-webfont.eot"); src: url("../fonts/opensans-bolditalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/opensans-bolditalic-webfont.woff") format("woff"), url("../fonts/opensans-bolditalic-webfont.ttf") format("truetype"), url("../fonts/opensans-bolditalic-webfont.svg#OpenSansBoldItalic") format("svg"); font-weight: bold; font-style: italic; } +@font-face { font-family: 'Open Sans'; src: url("../fonts/opensans-extrabold-webfont.eot"); src: url("../fonts/opensans-extrabold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/opensans-extrabold-webfont.woff") format("woff"), url("../fonts/opensans-extrabold-webfont.ttf") format("truetype"), url("../fonts/opensans-extrabold-webfont.svg#OpenSansExtrabold") format("svg"); font-weight: 800; font-style: normal; } +/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) +*/ +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 { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } + +/* 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-collapse: collapse; border-spacing: 0; } + +header, footer, section { display: block; position: relative; } + +/* STYLES */ +div.shell { display: block; width: 670px; margin: 0 auto; } + +a#forkme_banner { position: absolute; top: 0; left: 0; width: 138px; height: 138px; display: block; background: transparent url(../images/fork-sprite.png) 0 0 no-repeat; text-indent: -9000px; z-index: 3; } + +a#forkme_banner:hover { background-position: 0 -138px; } + +/* header */ +header { position: relative; z-index: 2; margin: 0 auto; max-width: 600px; top: 38px; } + +header span.ribbon-inner { position: relative; display: block; background-color: #cd596b; border: 4px solid #7c334f; padding: 2px; z-index: 1; } + +header span.left-tail, header span.right-tail { position: relative; display: block; width: 56px; height: 105px; background: transparent url(../images/ribbon-tail-sprite.png) 0 0 no-repeat; position: absolute; bottom: -37px; z-index: 0; } + +header span.left-tail { background-position: 0 0; left: -31px; } + +header span.right-tail { background-position: -56px 0; right: -31px; } + +header h1 { background-color: #7c334f; font-size: 2.5em; font-weight: 800; font-style: normal; text-transform: uppercase; color: #ece4d8; text-align: center; line-height: 1; padding: 14px 20px 0; } + +header h2 { background-color: #7c334f; font: bold italic .85em/1.5 Georgia, Times, “Times New Roman”, serif; color: #e69b95; padding-bottom: 14px; margin-top: -3px; text-align: center; } + +section#downloads, div#no-downloads { position: relative; display: block; height: 197px; width: 550px; padding-bottom: 150px; margin: -80px auto -150px; z-index: 1; background: transparent url(../images/bg-ramp.jpg) center 171px no-repeat; } + +div#no-downloads span.inner { display: block; position: relative; height: 197px; width: 550px; background: transparent url(../images/download-sprite.png) 0 0 no-repeat; } + +section#downloads a { display: block; position: relative; height: 67px; width: 275px; padding-top: 130px; background: transparent url(../images/download-sprite.png) 0 0 no-repeat; text-align: center; line-height: 1; color: #fff; font-family: 'Open Sans', Myriad, Calibri, sans-serif; font-weight: 800; font-size: 1.3em; } + +section#downloads a:hover { text-decoration: none; } + +section#downloads a em { font: bold italic 12px/1 Georgia, Times, “Times New Roman”, serif; color: #83b7da; display: block; } + +section#downloads a.zip { float: left; background-position: 0 0; } + +section#downloads a.tgz { float: right; background-position: -275px 0; } + +section#downloads a.zip:hover { background-position: 0 -197px; } + +section#downloads a.tgz:hover { background-position: -275px -197px; } + +span.banner-fix { background: transparent url(../images/download-fallback-bg.png) center top no-repeat; display: block; height: 19px; position: absolute; width: 670px; top: 19px; } + +section#main_content { z-index: 2; padding: 20px 82px 0; min-height: 185px; } + +/* footer */ +footer { background: transparent url(../images/footer-ramp.jpg) center -1px no-repeat; padding-top: 104px; margin: -94px auto 40px; max-width: 560px; text-align: center; } + +footer span.ribbon-outer { display: block; position: relative; border-bottom: 2px solid #bdb6ad; } + +footer span.ribbon-inner { position: relative; display: block; background-color: #cd596b; border: 2px solid #7c334f; padding: 1px; z-index: 1; } + +footer p { font-family: 'Open Sans', Myriad, Calibri, sans-serif; font-weight: bold; font-size: .8em; color: #8b786f; } + +footer a { color: #cd596b; } + +footer span.ribbon-inner p { background-color: #7c334f; margin: 0; color: #e69b95; font: bold italic 12px/1 Georgia, Times, “Times New Roman”, serif; padding-bottom: 4px; } + +footer span.ribbon-inner a { position: relative; bottom: -1px; color: #7eb0d2; font-family: 'Open Sans', Myriad, Calibri, sans-serif; text-transform: uppercase; font-style: normal; font-weight: 800; font-size: 1.2em; } + +footer span.ribbon-inner a:hover { color: #7eb0d2; } + +footer span.left-tail, footer span.right-tail { position: relative; display: block; width: 18px; height: 29px; background: transparent url(../images/small-ribbon-tail-sprite.png) 0 0 no-repeat; position: absolute; bottom: 5px; z-index: 0; } + +footer span.left-tail { background-position: 0 0; left: -11px; } + +footer span.right-tail { background-position: -18px 0; right: -11px; } + +footer span.octocat { background: transparent url(../images/octocat.png) 0 0 no-repeat; display: block; width: 30px; height: 30px; margin: 0 auto; } + +/* content */ +body { background: #ece4d8; font: normal normal 15px/1.5 Georgia, Palatino,” Palatino Linotype”, Times, “Times New Roman”, serif; color: #544943; -webkit-font-smoothing: antialiased; } + +a, a:hover { color: #417090; } + +a { text-decoration: none; } + +a:hover { text-decoration: underline; } + +h1, h2, h3, h4, h5, h6 { font-family: 'Open Sans', Myriad, Calibri, sans-serif; font-weight: bold; } + +p { margin: .7em 0; } + +strong { font-weight: bold; } + +em { font-style: italic; } + +ol { margin: .7em 0; list-style-type: decimal; padding-left: 1.35em; } + +ul { margin: .7em 0; padding-left: 1.35em; } + +ul li { padding-left: 10px; background: transparent url(../images/chevron.png) left 6px no-repeat; } + +blockquote { font-family: 'Open Sans', Myriad, Calibri, sans-serif; margin: 20px 0; color: #8b786f; padding-left: 1.35em; background: transparent url("../images/blockquote-gfx.png") 0 4px no-repeat; } + +img { -webkit-box-shadow: 0px 2px 0px #bdb6ad; -moz-box-shadow: 0px 2px 0px #bdb6ad; box-shadow: 0px 2px 0px #bdb6ad; border: 2px solid #fff6e9; max-width: 502px; } + +hr { border: none; outline: none; height: 18px; background: transparent url("../images/hr.jpg") center center repeat-x; margin: 0 0 20px; } + +code { background: #fff6e9; font: normal normal .8em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; padding: 0 5px 1px; } + +pre { margin: 10px 0 20px; padding: .7em; background: #fff6e9; border-bottom: 2px solid #bdb6ad; font: normal normal .9em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; overflow: auto; } + +pre code { font: normal normal 1em/1.7 "Lucida Sans Typewriter", "Lucida Console", Monaco, "Bitstream Vera Sans Mono", monospace; padding: 0; } + +table { background: #fff6e9; display: table; width: 100%; border-collapse: separate; border-bottom: 2px solid #bdb6ad; margin: 10px 0; } + +tr { display: table-row; } + +th { display: table-cell; padding: 2px 10px; border: solid #ece4d8; border-width: 0 2px 2px 0; color: #cd596b; font-family: 'Open Sans', Myriad, Calibri, sans-serif; font-weight: bold; font-size: .85em; } + +td { display: table-cell; padding: 0 .7em; border: solid #ece4d8; border-width: 0 2px 2px 0; } + +td:last-child, th:last-child { border-right: none; } + +tr:last-child td { border-bottom: none; } + +dl { margin: .7em 0 20px; } + +dt { font-family: 'Open Sans', Myriad, Calibri, sans-serif; font-weight: bold; } + +dd { padding-left: 1.35em; } + +dd p:first-child { margin-top: 0; } + +/* Content based headers */ +#main_content > .header-level-1:first-child, #main_content > .header-level-2:first-child, #main_content > .header-level-3:first-child, #main_content > .header-level-4:first-child, #main_content > .header-level-5:first-child, #main_content > .header-level-6:first-child { margin-top: 0; } + +.header-level-1 { font-size: 1.85em; border-bottom: .2em double #d3ccc1; color: #7c334f; text-align: center; font-style: italic; margin: 1.1em 0 .38em; line-height: 1.2; padding-bottom: 10px; } + +.header-level-2 { font-size: 1.58em; color: #7c334f; margin: .95em 0 .5em; border-bottom: .1em solid #D3CCC1; line-height: 1.2; padding-bottom: 10px; } + +.header-level-3 { margin: 20px 0 10px; font-size: 1.45em; } + +.header-level-4 { margin: .6em 0; font-size: 1.2em; color: #cd596b; } + +.header-level-5 { margin: .7em 0; font-size: 1em; color: #8b786f; } + +.header-level-6 { margin: .8em 0; font-size: .85em; font-style: italic; } + +.highlight table td { padding: 5px; } + +.highlight table pre { margin: 0; } + +.highlight, .highlight .w { color: #586e75; } + +.highlight .err { color: #002b36; background-color: #dc322f; } + +.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { color: #657b83; } + +.highlight .cp { color: #b58900; } + +.highlight .nt { color: #b58900; } + +.highlight .o, .highlight .ow { color: #93a1a1; } + +.highlight .p, .highlight .pi { color: #93a1a1; } + +.highlight .gi { color: #859900; } + +.highlight .gd { color: #dc322f; } + +.highlight .gh { color: #268bd2; background-color: #002b36; font-weight: bold; } + +.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { color: #6c71c4; } + +.highlight .kc { color: #cb4b16; } + +.highlight .kt { color: #cb4b16; } + +.highlight .kd { color: #cb4b16; } + +.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { color: #859900; } + +.highlight .sr { color: #2aa198; } + +.highlight .si { color: #d33682; } + +.highlight .se { color: #d33682; } + +.highlight .nn { color: #b58900; } + +.highlight .nc { color: #b58900; } + +.highlight .no { color: #b58900; } + +.highlight .na { color: #268bd2; } + +.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { color: #859900; } + +.highlight .ss { color: #859900; } diff --git a/docs/assets/fonts/opensans-bold-webfont.eot b/docs/assets/fonts/opensans-bold-webfont.eot new file mode 100755 index 0000000..b5bad08 Binary files /dev/null and b/docs/assets/fonts/opensans-bold-webfont.eot differ diff --git a/docs/assets/fonts/opensans-bold-webfont.svg b/docs/assets/fonts/opensans-bold-webfont.svg new file mode 100755 index 0000000..1557f68 --- /dev/null +++ b/docs/assets/fonts/opensans-bold-webfont.svg @@ -0,0 +1,251 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/fonts/opensans-bold-webfont.ttf b/docs/assets/fonts/opensans-bold-webfont.ttf new file mode 100755 index 0000000..338220f Binary files /dev/null and b/docs/assets/fonts/opensans-bold-webfont.ttf differ diff --git a/docs/assets/fonts/opensans-bold-webfont.woff b/docs/assets/fonts/opensans-bold-webfont.woff new file mode 100755 index 0000000..ea6007b Binary files /dev/null and b/docs/assets/fonts/opensans-bold-webfont.woff differ diff --git a/docs/assets/fonts/opensans-bolditalic-webfont.eot b/docs/assets/fonts/opensans-bolditalic-webfont.eot new file mode 100755 index 0000000..d892fd9 Binary files /dev/null and b/docs/assets/fonts/opensans-bolditalic-webfont.eot differ diff --git a/docs/assets/fonts/opensans-bolditalic-webfont.svg b/docs/assets/fonts/opensans-bolditalic-webfont.svg new file mode 100755 index 0000000..24661f3 --- /dev/null +++ b/docs/assets/fonts/opensans-bolditalic-webfont.svg @@ -0,0 +1,251 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/fonts/opensans-bolditalic-webfont.ttf b/docs/assets/fonts/opensans-bolditalic-webfont.ttf new file mode 100755 index 0000000..b3eb0d3 Binary files /dev/null and b/docs/assets/fonts/opensans-bolditalic-webfont.ttf differ diff --git a/docs/assets/fonts/opensans-bolditalic-webfont.woff b/docs/assets/fonts/opensans-bolditalic-webfont.woff new file mode 100755 index 0000000..1712e15 Binary files /dev/null and b/docs/assets/fonts/opensans-bolditalic-webfont.woff differ diff --git a/docs/assets/fonts/opensans-extrabold-webfont.eot b/docs/assets/fonts/opensans-extrabold-webfont.eot new file mode 100755 index 0000000..0e88f02 Binary files /dev/null and b/docs/assets/fonts/opensans-extrabold-webfont.eot differ diff --git a/docs/assets/fonts/opensans-extrabold-webfont.svg b/docs/assets/fonts/opensans-extrabold-webfont.svg new file mode 100755 index 0000000..c3d6642 --- /dev/null +++ b/docs/assets/fonts/opensans-extrabold-webfont.svg @@ -0,0 +1,251 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 2011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/fonts/opensans-extrabold-webfont.ttf b/docs/assets/fonts/opensans-extrabold-webfont.ttf new file mode 100755 index 0000000..bec521d Binary files /dev/null and b/docs/assets/fonts/opensans-extrabold-webfont.ttf differ diff --git a/docs/assets/fonts/opensans-extrabold-webfont.woff b/docs/assets/fonts/opensans-extrabold-webfont.woff new file mode 100755 index 0000000..a24b205 Binary files /dev/null and b/docs/assets/fonts/opensans-extrabold-webfont.woff differ diff --git a/docs/assets/fonts/opensans-italic-webfont.eot b/docs/assets/fonts/opensans-italic-webfont.eot new file mode 100755 index 0000000..3593c12 Binary files /dev/null and b/docs/assets/fonts/opensans-italic-webfont.eot differ diff --git a/docs/assets/fonts/opensans-italic-webfont.svg b/docs/assets/fonts/opensans-italic-webfont.svg new file mode 100755 index 0000000..537d20c --- /dev/null +++ b/docs/assets/fonts/opensans-italic-webfont.svg @@ -0,0 +1,251 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/fonts/opensans-italic-webfont.ttf b/docs/assets/fonts/opensans-italic-webfont.ttf new file mode 100755 index 0000000..ddc75c6 Binary files /dev/null and b/docs/assets/fonts/opensans-italic-webfont.ttf differ diff --git a/docs/assets/fonts/opensans-italic-webfont.woff b/docs/assets/fonts/opensans-italic-webfont.woff new file mode 100755 index 0000000..302cb00 Binary files /dev/null and b/docs/assets/fonts/opensans-italic-webfont.woff differ diff --git a/docs/assets/fonts/opensans-regular-webfont.eot b/docs/assets/fonts/opensans-regular-webfont.eot new file mode 100755 index 0000000..1c64986 Binary files /dev/null and b/docs/assets/fonts/opensans-regular-webfont.eot differ diff --git a/docs/assets/fonts/opensans-regular-webfont.svg b/docs/assets/fonts/opensans-regular-webfont.svg new file mode 100755 index 0000000..ead219a --- /dev/null +++ b/docs/assets/fonts/opensans-regular-webfont.svg @@ -0,0 +1,252 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/fonts/opensans-regular-webfont.ttf b/docs/assets/fonts/opensans-regular-webfont.ttf new file mode 100755 index 0000000..99a1ece Binary files /dev/null and b/docs/assets/fonts/opensans-regular-webfont.ttf differ diff --git a/docs/assets/fonts/opensans-regular-webfont.woff b/docs/assets/fonts/opensans-regular-webfont.woff new file mode 100755 index 0000000..826d643 Binary files /dev/null and b/docs/assets/fonts/opensans-regular-webfont.woff differ diff --git a/docs/assets/images/bg-ramp.jpg b/docs/assets/images/bg-ramp.jpg new file mode 100644 index 0000000..7738563 Binary files /dev/null and b/docs/assets/images/bg-ramp.jpg differ diff --git a/docs/assets/images/blockquote-gfx-2x.png b/docs/assets/images/blockquote-gfx-2x.png new file mode 100644 index 0000000..993efd5 Binary files /dev/null and b/docs/assets/images/blockquote-gfx-2x.png differ diff --git a/docs/assets/images/blockquote-gfx.png b/docs/assets/images/blockquote-gfx.png new file mode 100644 index 0000000..bd5be35 Binary files /dev/null and b/docs/assets/images/blockquote-gfx.png differ diff --git a/docs/assets/images/chevron-2x.png b/docs/assets/images/chevron-2x.png new file mode 100644 index 0000000..0ae935e Binary files /dev/null and b/docs/assets/images/chevron-2x.png differ diff --git a/docs/assets/images/chevron.png b/docs/assets/images/chevron.png new file mode 100644 index 0000000..65cfeda Binary files /dev/null and b/docs/assets/images/chevron.png differ diff --git a/docs/assets/images/download-fallback-bg.png b/docs/assets/images/download-fallback-bg.png new file mode 100644 index 0000000..aedafab Binary files /dev/null and b/docs/assets/images/download-fallback-bg.png differ diff --git a/docs/assets/images/download-sprite.png b/docs/assets/images/download-sprite.png new file mode 100644 index 0000000..56eedc4 Binary files /dev/null and b/docs/assets/images/download-sprite.png differ diff --git a/docs/assets/images/footer-ramp.jpg b/docs/assets/images/footer-ramp.jpg new file mode 100644 index 0000000..99accec Binary files /dev/null and b/docs/assets/images/footer-ramp.jpg differ diff --git a/docs/assets/images/fork-sprite.png b/docs/assets/images/fork-sprite.png new file mode 100644 index 0000000..0ce61b2 Binary files /dev/null and b/docs/assets/images/fork-sprite.png differ diff --git a/docs/assets/images/hr-2x.jpg b/docs/assets/images/hr-2x.jpg new file mode 100644 index 0000000..a883d5d Binary files /dev/null and b/docs/assets/images/hr-2x.jpg differ diff --git a/docs/assets/images/hr.jpg b/docs/assets/images/hr.jpg new file mode 100644 index 0000000..2dc7cef Binary files /dev/null and b/docs/assets/images/hr.jpg differ diff --git a/docs/assets/images/octocat-2x.png b/docs/assets/images/octocat-2x.png new file mode 100644 index 0000000..f995921 Binary files /dev/null and b/docs/assets/images/octocat-2x.png differ diff --git a/docs/assets/images/octocat.png b/docs/assets/images/octocat.png new file mode 100644 index 0000000..7c55dfc Binary files /dev/null and b/docs/assets/images/octocat.png differ diff --git a/docs/assets/images/ribbon-tail-sprite-2x.png b/docs/assets/images/ribbon-tail-sprite-2x.png new file mode 100644 index 0000000..46357a0 Binary files /dev/null and b/docs/assets/images/ribbon-tail-sprite-2x.png differ diff --git a/docs/assets/images/ribbon-tail-sprite.png b/docs/assets/images/ribbon-tail-sprite.png new file mode 100644 index 0000000..bd627d9 Binary files /dev/null and b/docs/assets/images/ribbon-tail-sprite.png differ diff --git a/docs/assets/images/shield-fallback.png b/docs/assets/images/shield-fallback.png new file mode 100644 index 0000000..be799b2 Binary files /dev/null and b/docs/assets/images/shield-fallback.png differ diff --git a/docs/assets/images/shield.png b/docs/assets/images/shield.png new file mode 100644 index 0000000..224425e Binary files /dev/null and b/docs/assets/images/shield.png differ diff --git a/docs/assets/images/site-2.png b/docs/assets/images/site-2.png new file mode 100644 index 0000000..7c55dfc Binary files /dev/null and b/docs/assets/images/site-2.png differ diff --git a/docs/assets/images/small-ribbon-tail-sprite-2x.png b/docs/assets/images/small-ribbon-tail-sprite-2x.png new file mode 100644 index 0000000..482649d Binary files /dev/null and b/docs/assets/images/small-ribbon-tail-sprite-2x.png differ diff --git a/docs/assets/images/small-ribbon-tail-sprite.png b/docs/assets/images/small-ribbon-tail-sprite.png new file mode 100644 index 0000000..f717af6 Binary files /dev/null and b/docs/assets/images/small-ribbon-tail-sprite.png differ diff --git a/docs/assets/js/headsmart.min.js b/docs/assets/js/headsmart.min.js new file mode 100644 index 0000000..16da97a --- /dev/null +++ b/docs/assets/js/headsmart.min.js @@ -0,0 +1 @@ +(function(a){a.fn.headsmart=function(){var c=a(this);d();function d(){var e=[],g="";if(b("h1")){e.push("h1")}if(b("h2")){e.push("h2")}if(b("h3")){e.push("h3")}if(b("h4")){e.push("h4")}if(b("h5")){e.push("h5")}if(b("h6")){e.push("h6")}for(var f=0;f0)?true:false}}})(jQuery); \ No newline at end of file diff --git a/docs/assets/js/modernizr.js b/docs/assets/js/modernizr.js new file mode 100644 index 0000000..434b0af --- /dev/null +++ b/docs/assets/js/modernizr.js @@ -0,0 +1,4 @@ +/* Modernizr 2.5.2 (Custom Build) | MIT & BSD + * Build: http://www.modernizr.com/download/#-fontface-borderradius-boxshadow-textshadow-cssgradients-shiv-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load + */ +;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a)if(j[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.5.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),k.appendChild(j);return f=["­",""].join(""),k.id=h,m.innerHTML+=f,m.appendChild(k),l||g.appendChild(m),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e});var G=function(a,c){var d=a.join(""),f=c.length;w(d,function(a,c){var d=b.styleSheets[b.styleSheets.length-1],g=d?d.cssRules&&d.cssRules[0]?d.cssRules[0].cssText:d.cssText||"":"",h=a.childNodes,i={};while(f--)i[h[f].id]=h[f];e.fontface=/src/i.test(g)&&g.indexOf(c.split(" ")[0])===0},f,c)}(['@font-face {font-family:"font";src:url("https://")}'],["fontface"]);q.borderradius=function(){return F("borderRadius")},q.boxshadow=function(){return F("boxShadow")},q.textshadow=function(){return b.createElement("div").style.textShadow===""},q.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return z((a+"-webkit- ".split(" ").join(b+a)+m.join(c+a)).slice(0,-a.length)),C(j.backgroundImage,"gradient")},q.fontface=function(){return e.fontface};for(var H in q)y(q,H)&&(v=H.toLowerCase(),e[v]=q[H](),t.push((e[v]?"":"no-")+v));return z(""),i=k=null,function(a,b){function g(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function h(){var a=k.elements;return typeof a=="string"?a.split(" "):a}function i(a){function m(){var a=j.cloneNode(!1);return k.shivMethods?(i(a),a):a}function n(a){var b=(c[a]||(c[a]=e(a))).cloneNode(!1);return k.shivMethods&&!d.test(a)?j.appendChild(b):b}var b,c={},e=a.createElement,f=a.createDocumentFragment,g=h(),j=f(),l=g.length;while(l--)b=g[l],c[b]=e(b),j.createElement(b);a.createElement=n,a.createDocumentFragment=m}function j(a){var b;return a.documentShived?a:(k.shivCSS&&!e&&(b=!!g(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),k.shivMethods&&!f&&(b=!i(a)),b&&(a.documentShived=b),a)}var c=a.html5||{},d=/^<|^(?:button|iframe|input|script|textarea)$/i,e,f;(function(){var c,d=b.createElement("a"),g=a.getComputedStyle,h=b.documentElement,i=b.body||(c=h.insertBefore(b.createElement("body"),h.firstChild));i.insertBefore(d,i.firstChild),d.hidden=!0,d.innerHTML="",e=(d.currentStyle||g(d,null)).display=="none",f=d.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}(),i.removeChild(d),c&&h.removeChild(c)})();var k={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "),shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:j};a.html5=k,j(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=!!b.attachEvent,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f + + + + + + + + + + + + + + + naylang by blorente + + + + View on GitHub +
+ +
+ + +

naylang

+

An interpreter and debugger for the Grace programming language

+
+ + +
+
+ + +
+ + download .ZIPdownload .TGZ + +
+ + + + + + +
+ +

What?

+

Naylang is the new interpreter, runtime and debugger for a subset of the Grace Programming Language. +It’s still a work in progress, but it has some great features already!

+ +

How?

+ +

To use Naylang, just download the executable for the latest release and start it up in a terminal!

+ +

If you’d rather compile it from source click me!

+ +

Commands

+ +

For now, Naylang accepts three kinds of commands:

+ +
    +
  • load (or l) <path>: Open the file in <path>, execute it, and show the resulting environment.
  • +
  • exec (or e) <code>: Execute the code and show the resulting environment.
  • +
  • print (or p) <expression>: Execute the expression and show the result.
  • +
+ +

Here’s an example execution of Naylang:

+ +

asciicast

+ +

Want to contribute?

+ +

Naylang is written entirely in modern C++14. +It uses ANTLR4 for parsing, CMake +as a build system and Catch as a testing framework.

+ +

If you’d like to contribute to this project, you are more than welcome to. +Feel free to submit an issue, +fork the main repo and submit a pull request with your improvements, +or even shoot me an email (blorente@ucm.es) if you want some direction on where to begin.

+ +

Compilation instructions

+

Naylang uses standard out-of-source compilation with CMake. +It requires at least version 3 of CMake and a compiler that supports C++14 (for example, GCC6.x).

+ +

When all those dependencies are installed, just download the repo (git clone https://github.com/blorente/naylang) and +a simple sequence of commands should suffice to run the tests:

+ +
cd /root/of/repo
+mkdir build &6 cd build
+cmake ..
+make -j antlr4cpp antlr4cpp_generation_naylang
+cmake ..
+make -j
+cd tests
+chmod +x ./tests
+./tests
+
+
+ +
+ + + +
+ + + + diff --git a/docs/page/Gemfile b/docs/page/Gemfile new file mode 100644 index 0000000..ac3d4a7 --- /dev/null +++ b/docs/page/Gemfile @@ -0,0 +1,5 @@ +source 'https://rubygems.org' + +group :jekyll_plugins do + gem "github-pages" +end diff --git a/docs/page/Gemfile.lock b/docs/page/Gemfile.lock new file mode 100644 index 0000000..c04cbf2 --- /dev/null +++ b/docs/page/Gemfile.lock @@ -0,0 +1,200 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (4.2.7) + i18n (~> 0.7) + json (~> 1.7, >= 1.7.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.5.1) + public_suffix (~> 2.0, >= 2.0.2) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (1.1.0) + ethon (0.10.1) + ffi (>= 1.3.0) + execjs (2.7.0) + faraday (0.12.0.1) + multipart-post (>= 1.2, < 3) + ffi (1.9.18) + forwardable-extended (2.6.0) + gemoji (3.0.0) + github-pages (134) + activesupport (= 4.2.7) + github-pages-health-check (= 1.3.3) + jekyll (= 3.4.3) + jekyll-avatar (= 0.4.2) + jekyll-coffeescript (= 1.0.1) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.9.2) + jekyll-gist (= 1.4.0) + jekyll-github-metadata (= 2.3.1) + jekyll-mentions (= 1.2.0) + jekyll-optional-front-matter (= 0.1.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.1.0) + jekyll-redirect-from (= 0.12.1) + jekyll-relative-links (= 0.4.0) + jekyll-sass-converter (= 1.5.0) + jekyll-seo-tag (= 2.2.0) + jekyll-sitemap (= 1.0.0) + jekyll-swiss (= 0.4.0) + jekyll-theme-architect (= 0.0.4) + jekyll-theme-cayman (= 0.0.4) + jekyll-theme-dinky (= 0.0.4) + jekyll-theme-hacker (= 0.0.4) + jekyll-theme-leap-day (= 0.0.4) + jekyll-theme-merlot (= 0.0.4) + jekyll-theme-midnight (= 0.0.4) + jekyll-theme-minimal (= 0.0.4) + jekyll-theme-modernist (= 0.0.4) + jekyll-theme-primer (= 0.1.8) + jekyll-theme-slate (= 0.0.4) + jekyll-theme-tactile (= 0.0.4) + jekyll-theme-time-machine (= 0.0.4) + jekyll-titles-from-headings (= 0.1.5) + jemoji (= 0.8.0) + kramdown (= 1.13.2) + liquid (= 3.0.6) + listen (= 3.0.6) + mercenary (~> 0.3) + minima (= 2.0.0) + rouge (= 1.11.1) + terminal-table (~> 1.4) + github-pages-health-check (1.3.3) + addressable (~> 2.3) + net-dns (~> 0.8) + octokit (~> 4.0) + public_suffix (~> 2.0) + typhoeus (~> 0.7) + html-pipeline (2.5.0) + activesupport (>= 2) + nokogiri (>= 1.4) + i18n (0.8.1) + jekyll (3.4.3) + addressable (~> 2.4) + colorator (~> 1.0) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 1.1) + kramdown (~> 1.3) + liquid (~> 3.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (~> 1.7) + safe_yaml (~> 1.0) + jekyll-avatar (0.4.2) + jekyll (~> 3.0) + jekyll-coffeescript (1.0.1) + coffee-script (~> 2.2) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.9.2) + jekyll (~> 3.3) + jekyll-gist (1.4.0) + octokit (~> 4.2) + jekyll-github-metadata (2.3.1) + jekyll (~> 3.1) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.2.0) + activesupport (~> 4.0) + html-pipeline (~> 2.3) + jekyll (~> 3.0) + jekyll-optional-front-matter (0.1.2) + jekyll (~> 3.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.1.0) + jekyll (~> 3.0) + jekyll-redirect-from (0.12.1) + jekyll (~> 3.3) + jekyll-relative-links (0.4.0) + jekyll (~> 3.3) + jekyll-sass-converter (1.5.0) + sass (~> 3.4) + jekyll-seo-tag (2.2.0) + jekyll (~> 3.3) + jekyll-sitemap (1.0.0) + jekyll (~> 3.3) + jekyll-swiss (0.4.0) + jekyll-theme-architect (0.0.4) + jekyll (~> 3.3) + jekyll-theme-cayman (0.0.4) + jekyll (~> 3.3) + jekyll-theme-dinky (0.0.4) + jekyll (~> 3.3) + jekyll-theme-hacker (0.0.4) + jekyll (~> 3.3) + jekyll-theme-leap-day (0.0.4) + jekyll (~> 3.3) + jekyll-theme-merlot (0.0.4) + jekyll (~> 3.3) + jekyll-theme-midnight (0.0.4) + jekyll (~> 3.3) + jekyll-theme-minimal (0.0.4) + jekyll (~> 3.3) + jekyll-theme-modernist (0.0.4) + jekyll (~> 3.3) + jekyll-theme-primer (0.1.8) + jekyll (~> 3.3) + jekyll-theme-slate (0.0.4) + jekyll (~> 3.3) + jekyll-theme-tactile (0.0.4) + jekyll (~> 3.3) + jekyll-theme-time-machine (0.0.4) + jekyll (~> 3.3) + jekyll-titles-from-headings (0.1.5) + jekyll (~> 3.3) + jekyll-watch (1.5.0) + listen (~> 3.0, < 3.1) + jemoji (0.8.0) + activesupport (~> 4.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0) + json (1.8.6) + kramdown (1.13.2) + liquid (3.0.6) + listen (3.0.6) + rb-fsevent (>= 0.9.3) + rb-inotify (>= 0.9.7) + mercenary (0.3.6) + mini_portile2 (2.1.0) + minima (2.0.0) + minitest (5.10.1) + multipart-post (2.0.0) + net-dns (0.8.0) + nokogiri (1.7.1) + mini_portile2 (~> 2.1.0) + octokit (4.7.0) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.14.0) + forwardable-extended (~> 2.6) + public_suffix (2.0.5) + rb-fsevent (0.9.8) + rb-inotify (0.9.8) + ffi (>= 0.5.0) + rouge (1.11.1) + safe_yaml (1.0.4) + sass (3.4.23) + sawyer (0.8.1) + addressable (>= 2.3.5, < 2.6) + faraday (~> 0.8, < 1.0) + terminal-table (1.7.3) + unicode-display_width (~> 1.1.1) + thread_safe (0.3.6) + typhoeus (0.8.0) + ethon (>= 0.8.0) + tzinfo (1.2.3) + thread_safe (~> 0.1) + unicode-display_width (1.1.3) + +PLATFORMS + ruby + +DEPENDENCIES + github-pages + +BUNDLED WITH + 1.14.6 diff --git a/docs/page/_config.yml b/docs/page/_config.yml new file mode 100644 index 0000000..e7ac7db --- /dev/null +++ b/docs/page/_config.yml @@ -0,0 +1,2 @@ +theme: jekyll-theme-merlot +show_downloads: true diff --git a/docs/index.md b/docs/page/index.md similarity index 84% rename from docs/index.md rename to docs/page/index.md index 16e22ec..e4874f2 100644 --- a/docs/index.md +++ b/docs/page/index.md @@ -1,5 +1,3 @@ -# Naylang -An interpreter and debugger for the Grace programming language ## What? Naylang is the new interpreter, runtime and debugger for a subset of the [Grace Programming Language](http://gracelang.org/applications/). @@ -25,20 +23,20 @@ Here's an example execution of Naylang: ## Want to contribute? -Naylang is written entirely in modern C++14. -It uses [ANTLR4](https://antlr.org) for parsing, [CMake](https://cmake.org/) +Naylang is written entirely in modern C++14. +It uses [ANTLR4](https://antlr.org) for parsing, [CMake](https://cmake.org/) as a build system and [Catch](https://github.com/philsquared/Catch) as a testing framework. -If you'd like to contribute to this project, you are more than welcome to. -Feel free to [submit an issue](https://github.com/blorente/naylang/issues/new), -fork the [main repo](https://github.com/blorente/naylang) and submit a pull request with your improvements, +If you'd like to contribute to this project, you are more than welcome to. +Feel free to [submit an issue](https://github.com/blorente/naylang/issues/new), +fork the [main repo](https://github.com/blorente/naylang) and submit a pull request with your improvements, or even shoot me an email (blorente@ucm.es) if you want some direction on where to begin. ### Compilation instructions -Naylang uses standard out-of-source compilation with CMake. +Naylang uses standard out-of-source compilation with CMake. It requires at least version 3 of CMake and a compiler that supports C++14 (for example, GCC6.x). -When all those dependencies are installed, just download the repo (`git clone https://github.com/blorente/naylang`) and +When all those dependencies are installed, just download the repo (`git clone https://github.com/blorente/naylang`) and a simple sequence of commands should suffice to run the tests: ``` @@ -51,4 +49,4 @@ make -j cd tests chmod +x ./tests ./tests -``` \ No newline at end of file +``` diff --git a/temp.diff b/temp.diff deleted file mode 100644 index ccec40a..0000000 --- a/temp.diff +++ /dev/null @@ -1,129 +0,0 @@ -diff --git a/tests/src/model/environment/Environment_test.cpp b/tests/src/model/environment/Environment_test.cpp -index 654e333..4292d86 100644 ---- a/tests/src/model/environment/Environment_test.cpp -+++ b/tests/src/model/environment/Environment_test.cpp -@@ -41,7 +41,7 @@ TEST_CASE("Environment", "[Environment]") { - REQUIRE(env.get(x).asNumber() == three.asNumber()); - } - -- SECTION("All calls to bind() after the first with an identifier throw") { -+ SECTION("All calls to bind() after the first with an canonName throw") { - env.bind(x, five); - REQUIRE_THROWS(env.bind(x, three)); - REQUIRE_THROWS(env.bind(x, five)); -diff --git a/tests/src/model/environment/Identifier_test.cpp b/tests/src/model/environment/Identifier_test.cpp -index ace68a9..3a1aae8 100644 ---- a/tests/src/model/environment/Identifier_test.cpp -+++ b/tests/src/model/environment/Identifier_test.cpp -@@ -15,19 +15,19 @@ TEST_CASE("Identifier", "[Environment]") { - Identifier anotherOne("x"); - std::vector words {"Hello", "World", "Identifier"}; - -- SECTION("An identifier can be initialized with a naked string") { -+ SECTION("An canonName can be initialized with a naked string") { - Identifier stringIdentifier("hi"); - } - -- SECTION("An identifier can be initialized with a vector of strings") { -+ SECTION("An canonName can be initialized with a vector of strings") { - Identifier vectorIdentifier(words); - } - - SECTION("The string representation is achieved by inserting (__) between words") { - Identifier stringIdentifier("Hello"); - Identifier vectorIdentifier(words); -- REQUIRE(stringIdentifier.identifier() == "Hello"); -- REQUIRE(vectorIdentifier.identifier() == "Hello(__)World(__)Identifier"); -+ REQUIRE(stringIdentifier.canonName() == "Hello"); -+ REQUIRE(vectorIdentifier.canonName() == "Hello(__)World(__)Identifier"); - } - - SECTION("Two identifiers are == iff their string representations are the same") { -diff --git a/tests/src/model/evaluators/GraceEvaluator_test.cpp b/tests/src/model/evaluators/GraceEvaluator_test.cpp -index 9294bbe..b659f95 100644 ---- a/tests/src/model/evaluators/GraceEvaluator_test.cpp -+++ b/tests/src/model/evaluators/GraceEvaluator_test.cpp -@@ -35,7 +35,7 @@ TEST_CASE("Grace Evaluator", "[Evaluators]") { - REQUIRE(eval.getPartialDouble() == fiveNat.value()); - } - -- SECTION("If the identifier of a constant already exists in the environment, it throws an exception") { -+ SECTION("If the canonName of a constant already exists in the environment, it throws an exception") { - Constant xConstant("x", six); - REQUIRE_NOTHROW(eval.evaluate(xConstant)); - REQUIRE_THROWS(eval.evaluate(xConstant)); -diff --git a/tests/src/model/expressions/VariableReference_test.cpp b/tests/src/model/expressions/VariableReference_test.cpp -index 3911a87..aaf5eb2 100644 ---- a/tests/src/model/expressions/VariableReference_test.cpp -+++ b/tests/src/model/expressions/VariableReference_test.cpp -@@ -10,7 +10,7 @@ - using namespace naylang; - - TEST_CASE("VariableReference Expressions", "[Expressions]") { -- SECTION("A variable reference just needs an identifier") { -+ SECTION("A variable reference just needs an canonName") { - auto name = "y"; - VariableReference refenenceY(name); - -diff --git a/tests/src/model/expressions/methods/MethodCall_test.cpp b/tests/src/model/expressions/methods/MethodCall_test.cpp -index 229e31a..30f4f7b 100644 ---- a/tests/src/model/expressions/methods/MethodCall_test.cpp -+++ b/tests/src/model/expressions/methods/MethodCall_test.cpp -@@ -14,7 +14,7 @@ TEST_CASE("Method Calls", "[Expressions]") { - Identifier name("myMethod"); - auto zero = std::make_shared(0.0); - -- SECTION("A method call needs an identifier") { -+ SECTION("A method call needs an canonName") { - MethodCall call(name); - } - -diff --git a/tests/src/model/expressions/methods/MethodDeclaration_test.cpp b/tests/src/model/expressions/methods/MethodDeclaration_test.cpp -index 8ea3455..35f4405 100644 ---- a/tests/src/model/expressions/methods/MethodDeclaration_test.cpp -+++ b/tests/src/model/expressions/methods/MethodDeclaration_test.cpp -@@ -16,7 +16,7 @@ TEST_CASE("Methd Declarations", "[Expressions]") { - auto five = std::make_shared(5.0); - auto numberBody = std::make_shared(); - -- SECTION("A method delaration takes an identifier and a body expression") { -+ SECTION("A method delaration takes an canonName and a body expression") { - numberBody->addInstruction(five); - MethodDeclaration method(name, numberBody); - } -@@ -25,7 +25,7 @@ TEST_CASE("Methd Declarations", "[Expressions]") { - numberBody->addInstruction(five); - MethodDeclaration method(name, numberBody); - -- REQUIRE(method.getCanonName().identifier() == "myMethod"); -+ REQUIRE(method.getCanonName().canonName() == "myMethod"); - REQUIRE(static_cast(*(method.getBody()->expressions()[0])).value() == 5.0); - } - } -\ No newline at end of file -diff --git a/tests/src/model/statements/Assignment_test.cpp b/tests/src/model/statements/Assignment_test.cpp -index e96f8b7..cf545e2 100644 ---- a/tests/src/model/statements/Assignment_test.cpp -+++ b/tests/src/model/statements/Assignment_test.cpp -@@ -11,7 +11,7 @@ - using namespace naylang; - - TEST_CASE("Assignment Expressions", "[Expressions]") { -- SECTION("Assignment Expressions can hold an identifier and a asNumber") { -+ SECTION("Assignment Expressions can hold an canonName and a asNumber") { - auto five = std::make_shared(5.0); - auto name = "y"; - Assignment numberAssignment(name, five); -diff --git a/tests/src/model/statements/VariableDeclaration_test.cpp b/tests/src/model/statements/VariableDeclaration_test.cpp -index d129a9e..6d211ad 100644 ---- a/tests/src/model/statements/VariableDeclaration_test.cpp -+++ b/tests/src/model/statements/VariableDeclaration_test.cpp -@@ -10,7 +10,7 @@ - using namespace naylang; - - TEST_CASE("VariableDeclaration Expressions", "[Expressions]") { -- SECTION("A variable declaration just needs an identifier") { -+ SECTION("A variable declaration just needs an canonName") { - auto name = "y"; - VariableDeclaration declareY(name); -