Create gh-pages branch via GitHub

This commit is contained in:
Taro L. Saito 2013-02-26 17:53:32 -08:00
commit fa1651f37c
9 changed files with 709 additions and 0 deletions

BIN
images/bg_hr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 943 B

BIN
images/blacktocat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
images/icon_download.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
images/sprite_download.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

206
index.html Normal file
View File

@ -0,0 +1,206 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta name="description" content="snappy-java : Snappy compressor/decompressor for Java" />
<link rel="stylesheet" type="text/css" media="screen" href="stylesheets/stylesheet.css">
<title>snappy-java</title>
</head>
<body>
<!-- HEADER -->
<div id="header_wrap" class="outer">
<header class="inner">
<a id="forkme_banner" href="https://github.com/xerial/snappy-java">View on GitHub</a>
<h1 id="project_title">snappy-java</h1>
<h2 id="project_tagline">Snappy compressor/decompressor for Java</h2>
<section id="downloads">
<a class="zip_download_link" href="https://github.com/xerial/snappy-java/zipball/master">Download this project as a .zip file</a>
<a class="tar_download_link" href="https://github.com/xerial/snappy-java/tarball/master">Download this project as a tar.gz file</a>
</section>
</header>
</div>
<!-- MAIN CONTENT -->
<div id="main_content_wrap" class="outer">
<section id="main_content" class="inner">
<p>The snappy-java is a Java port of the snappy
<a href="http://code.google.com/p/snappy/">http://code.google.com/p/snappy/</a>, a fast C++ compresser/decompresser developed by Google.</p>
<h2>Features</h2>
<ul>
<li>
<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License Version 2.0</a>. Free for both commercial and non-commercial use.</li>
<li>Fast compression/decompression tailored to 64-bit CPU architecture. </li>
<li>JNI-based implementation to achieve comparable performance to the native C++ version.<br><ul>
<li>Although snappy-java uses JNI, it can be used safely with multiple class loaders (e.g. Tomcat, etc.). </li>
</ul>
</li>
<li>Portable across various operating systems; Snappy-java contains native libraries built for Window/Mac/Linux (32/64-bit). At runtime, snappy-java loads one of these libraries according to your machine environment (It looks system properties, <code>os.name</code> and <code>os.arch</code>). </li>
<li>Simple usage. Add the snappy-java-(version).jar file to your classpath. Then call compression/decompression methods in org.xerial.snappy.Snappy. </li>
</ul><h2>Performance</h2>
<ul>
<li><p>Snappy's main target is very high-speed compression/decompression with reasonable compression size. So the compression ratio of snappy-java is modest and about the same as <code>LZF</code> (ranging 20%-100% according to the dataset).</p></li>
<li>
<p>Here are some <a href="https://github.com/ning/jvm-compressor-benchmark/wiki">benchmark results</a>, comparing
snappy-java and the other compressors
<code>LZO-java</code>/<code>LZF</code>/<code>QuickLZ</code>/<code>Gzip</code>/<code>Bzip2</code>. Thanks <a href="http://twitter.com/#!/cowtowncoder">Tatu Saloranta @cotowncoder</a> for providing the benchmark suite. </p>
<ul>
<li>The benchmark result indicates snappy-java is the fastest compreesor/decompressor in Java:</li>
<li><a href="http://ning.github.com/jvm-compressor-benchmark/results/canterbury-roundtrip-2011-07-28/index.html">http://ning.github.com/jvm-compressor-benchmark/results/canterbury-roundtrip-2011-07-28/index.html</a></li>
<li>The decompression speed is twice as fast as the others:</li>
<li><a href="http://ning.github.com/jvm-compressor-benchmark/results/canterbury-uncompress-2011-07-28/index.html">http://ning.github.com/jvm-compressor-benchmark/results/canterbury-uncompress-2011-07-28/index.html</a></li>
</ul>
</li>
</ul><h2>Download</h2>
<p>The current stable version is available from here:</p>
<ul>
<li>Release version: <a href="http://code.google.com/p/snappy-java/downloads/list">http://code.google.com/p/snappy-java/downloads/list</a>
<ul>
<li>
<a href="https://github.com/xerial/snappy-java/blob/develop/Milestone.md">Release plans</a> </li>
</ul>
</li>
<li>Snapshot version (the latest beta version): <a href="https://oss.sonatype.org/content/repositories/snapshots/org/xerial/snappy/snappy-java/">https://oss.sonatype.org/content/repositories/snapshots/org/xerial/snappy/snappy-java/</a>
If you are a Maven user, see <a href="#using-with-maven">pom.xml example</a>.</li>
</ul><h2>Usage</h2>
<p>First, import <code>org.xerial.snapy.Snappy</code> in your Java code:</p>
<pre><code> import org.xerial.snappy.Snappy;
</code></pre>
<p>Then use <code>Snappy.compress(byte[])</code> and <code>Snappy.uncompress(byte[])</code>:</p>
<pre><code> String input = "Hello snappy-java! Snappy-java is a JNI-based wrapper of "
+ "Snappy, a fast compresser/decompresser.";
byte[] compressed = Snappy.compress(input.getBytes("UTF-8"));
byte[] uncompressed = Snappy.uncompress(compressed);
String result = new String(uncompressed, "UTF-8");
System.out.println(result);
</code></pre>
<p>In addition, high-level methods (<code>Snappy.compress(String)</code>, <code>Snappy.compress(float[] ..)</code> etc. ) and low-level ones (e.g. <code>Snappy.rawCompress(.. )</code>, <code>Snappy.rawUncompress(..)</code>, etc.), which minimize memory copies, can be used. See also
<a href="https://github.com/xerial/snappy-java/blob/master/src/main/java/org/xerial/snappy/Snappy.java">Snappy.java</a></p>
<h3>Stream-based API</h3>
<p>Stream-based compressor/decompressor <code>SnappyOutputStream</code>/<code>SnappyInputStream</code> are also available for reading/writing large data sets.</p>
<h3>Setting classpath</h3>
<p>If you have snappy-java-(VERSION).jar in the current directory, use <code>-classpath</code> option as follows:</p>
<pre><code>$ javac -classpath ".;snappy-java-(VERSION).jar" Sample.java # in Windows
or
$ javac -classpath ".:snappy-java-(VERSION).jar" Sample.java # in Mac or Linux
</code></pre>
<h3>Using with Maven</h3>
<ul>
<li>Snappy-java is available from Maven's central repository: <a href="http://repo1.maven.org/maven2/org/xerial/snappy/snappy-java">http://repo1.maven.org/maven2/org/xerial/snappy/snappy-java</a>
</li>
</ul><p>Add the following dependency to your pom.xml:</p>
<pre><code>&lt;dependency&gt;
&lt;groupId&gt;org.xerial.snappy&lt;/groupId&gt;
&lt;artifactId&gt;snappy-java&lt;/artifactId&gt;
&lt;version&gt;(version)&lt;/version&gt;
&lt;type&gt;jar&lt;/type&gt;
&lt;scope&gt;compile&lt;/scope&gt;
&lt;/dependency&gt;
</code></pre>
<h2>Public discussion group</h2>
<p>Post bug reports or feature request to the Issue Tracker: <a href="https://github.com/xerial/snappy-java/issues">https://github.com/xerial/snappy-java/issues</a></p>
<p>Public discussion forum is here: </p>
<h2>Building from the source code</h2>
<p>See the <a href="https://github.com/xerial/snappy-java/blob/develop/INSTALL">installation instruction</a>. Building from the source code is an option when your OS platform and CPU architecture is not supported. To build snappy-java, you need Git, JDK (1.6 or higher), Maven (3.x or higher is required), g++ compiler (mingw in Windows) etc.</p>
<pre><code>$ git clone https://github.com/xerial/snappy-java.git
$ cd snappy-java
$ make
</code></pre>
<p>A file <code>target/snappy-java-$(version).jar</code> is the product additionally containing the native library built for your platform.</p>
<h2>Cross-compiling for other platforms</h2>
<p>The Makefile contains rules for cross-compiling the native library for other platforms so that the snappy-java JAR can support multiple platforms. For example, to build the native libraries for x86 Linux, x86 and x86-64 Windows, and soft- and hard-float ARM:</p>
<pre><code>$ make linux32 win32 win64 linux-arm linux-armhf
</code></pre>
<p>If you append <code>snappy</code> to the line above, it will also build the native library for the current platform and then build the snappy-java JAR (containing all native libraries built so far).</p>
<p>Of course, you must first have the necessary cross-compilers and development libraries installed for each target CPU and OS. For example, on Ubuntu 12.04 for x86-64, install the following packages for each target:</p>
<ul>
<li>linux32: <code>sudo apt-get install g++-multilib libc6-dev-i386 lib32stdc++6</code>
</li>
<li>win32: <code>sudo apt-get install g++-mingw-w64-i686</code>
</li>
<li>win64: <code>sudo apt-get install g++-mingw-w64-x86-64</code>
</li>
<li>arm: <code>sudo apt-get install g++-arm-linux-gnueabi</code>
</li>
<li>armhf: <code>sudo apt-get install g++-arm-linux-gnueabihf</code>
</li>
</ul><p>Unfortunately, cross-compiling for Mac OS X is not currently possible; you must compile within OS X.</p>
<p>If you are using Mac and openjdk7 (or higher), use the following option:</p>
<pre><code>$ make native LIBNAME=libsnappyjava.dylib
</code></pre>
<h2>Miscellaneous Notes</h2>
<h3>Using snappy-java with Tomcat 6 (or higher) Web Server</h3>
<p>Simply put the snappy-java's jar to WEB-INF/lib folder of your web application. Usual JNI-library specific problem no longer exists since snappy-java version 1.0.3 or higher can be loaded by multiple class loaders in the same JVM by using native code injection to the parent class loader (Issue 21). </p>
<hr><p>Snappy-java is developed by <a href="http://www.xerial.org/leo">Taro L. Saito</a>. Twitter <a href="http://twitter.com/#!/taroleo">@taroleo</a></p>
</section>
</div>
<!-- FOOTER -->
<div id="footer_wrap" class="outer">
<footer class="inner">
<p class="copyright">snappy-java maintained by <a href="https://github.com/xerial">xerial</a></p>
<p>Published with <a href="http://pages.github.com">GitHub Pages</a></p>
</footer>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-59666-9");
pageTracker._trackPageview();
} catch(err) {}
</script>
</body>
</html>

1
javascripts/main.js Normal file
View File

@ -0,0 +1 @@
console.log('This would be the main JS file.');

1
params.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,70 @@
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f0f3f3; }
.highlight .c { color: #0099FF; font-style: italic } /* Comment */
.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */
.highlight .k { color: #006699; font-weight: bold } /* Keyword */
.highlight .o { color: #555555 } /* Operator */
.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #009999 } /* Comment.Preproc */
.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */
.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */
.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
.highlight .go { color: #AAAAAA } /* Generic.Output */
.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #99CC66 } /* Generic.Traceback */
.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #006699 } /* Keyword.Pseudo */
.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #FF6600 } /* Literal.Number */
.highlight .s { color: #CC3300 } /* Literal.String */
.highlight .na { color: #330099 } /* Name.Attribute */
.highlight .nb { color: #336666 } /* Name.Builtin */
.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */
.highlight .no { color: #336600 } /* Name.Constant */
.highlight .nd { color: #9999FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #CC00FF } /* Name.Function */
.highlight .nl { color: #9999FF } /* Name.Label */
.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #003333 } /* Name.Variable */
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #FF6600 } /* Literal.Number.Float */
.highlight .mh { color: #FF6600 } /* Literal.Number.Hex */
.highlight .mi { color: #FF6600 } /* Literal.Number.Integer */
.highlight .mo { color: #FF6600 } /* Literal.Number.Oct */
.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */
.highlight .sc { color: #CC3300 } /* Literal.String.Char */
.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #CC3300 } /* Literal.String.Double */
.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */
.highlight .si { color: #AA0000 } /* Literal.String.Interpol */
.highlight .sx { color: #CC3300 } /* Literal.String.Other */
.highlight .sr { color: #33AAAA } /* Literal.String.Regex */
.highlight .s1 { color: #CC3300 } /* Literal.String.Single */
.highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */
.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #003333 } /* Name.Variable.Class */
.highlight .vg { color: #003333 } /* Name.Variable.Global */
.highlight .vi { color: #003333 } /* Name.Variable.Instance */
.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */
.type-csharp .highlight .k { color: #0000FF }
.type-csharp .highlight .kt { color: #0000FF }
.type-csharp .highlight .nf { color: #000000; font-weight: normal }
.type-csharp .highlight .nc { color: #2B91AF }
.type-csharp .highlight .nn { color: #000000 }
.type-csharp .highlight .s { color: #A31515 }
.type-csharp .highlight .sc { color: #A31515 }

431
stylesheets/stylesheet.css Normal file
View File

@ -0,0 +1,431 @@
/*******************************************************************************
Slate Theme for GitHub Pages
by Jason Costello, @jsncostello
*******************************************************************************/
@import url(pygment_trac.css);
/*******************************************************************************
MeyerWeb Reset
*******************************************************************************/
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: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
ol, ul {
list-style: none;
}
blockquote, q {
}
table {
border-collapse: collapse;
border-spacing: 0;
}
a:focus {
outline: none;
}
/*******************************************************************************
Theme Styles
*******************************************************************************/
body {
box-sizing: border-box;
color:#373737;
background: #212121;
font-size: 16px;
font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
margin: 10px 0;
font-weight: 700;
color:#222222;
font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif;
letter-spacing: -1px;
}
h1 {
font-size: 36px;
font-weight: 700;
}
h2 {
padding-bottom: 10px;
font-size: 32px;
background: url('../images/bg_hr.png') repeat-x bottom;
}
h3 {
font-size: 24px;
}
h4 {
font-size: 21px;
}
h5 {
font-size: 18px;
}
h6 {
font-size: 16px;
}
p {
margin: 10px 0 15px 0;
}
footer p {
color: #f2f2f2;
}
a {
text-decoration: none;
color: #007edf;
text-shadow: none;
transition: color 0.5s ease;
transition: text-shadow 0.5s ease;
-webkit-transition: color 0.5s ease;
-webkit-transition: text-shadow 0.5s ease;
-moz-transition: color 0.5s ease;
-moz-transition: text-shadow 0.5s ease;
-o-transition: color 0.5s ease;
-o-transition: text-shadow 0.5s ease;
-ms-transition: color 0.5s ease;
-ms-transition: text-shadow 0.5s ease;
}
#main_content a:hover {
color: #0069ba;
text-shadow: #0090ff 0px 0px 2px;
}
footer a:hover {
color: #43adff;
text-shadow: #0090ff 0px 0px 2px;
}
em {
font-style: italic;
}
strong {
font-weight: bold;
}
img {
position: relative;
margin: 0 auto;
max-width: 739px;
padding: 5px;
margin: 10px 0 10px 0;
border: 1px solid #ebebeb;
box-shadow: 0 0 5px #ebebeb;
-webkit-box-shadow: 0 0 5px #ebebeb;
-moz-box-shadow: 0 0 5px #ebebeb;
-o-box-shadow: 0 0 5px #ebebeb;
-ms-box-shadow: 0 0 5px #ebebeb;
}
pre, code {
width: 100%;
color: #222;
background-color: #fff;
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
font-size: 14px;
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
}
pre {
width: 100%;
padding: 10px;
box-shadow: 0 0 10px rgba(0,0,0,.1);
overflow: auto;
}
code {
padding: 3px;
margin: 0 3px;
box-shadow: 0 0 10px rgba(0,0,0,.1);
}
pre code {
display: block;
box-shadow: none;
}
blockquote {
color: #666;
margin-bottom: 20px;
padding: 0 0 0 20px;
border-left: 3px solid #bbb;
}
ul, ol, dl {
margin-bottom: 15px
}
ul li {
list-style: inside;
padding-left: 20px;
}
ol li {
list-style: decimal inside;
padding-left: 20px;
}
dl dt {
font-weight: bold;
}
dl dd {
padding-left: 20px;
font-style: italic;
}
dl p {
padding-left: 20px;
font-style: italic;
}
hr {
height: 1px;
margin-bottom: 5px;
border: none;
background: url('../images/bg_hr.png') repeat-x center;
}
table {
border: 1px solid #373737;
margin-bottom: 20px;
text-align: left;
}
th {
font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif;
padding: 10px;
background: #373737;
color: #fff;
}
td {
padding: 10px;
border: 1px solid #373737;
}
form {
background: #f2f2f2;
padding: 20px;
}
img {
width: 100%;
max-width: 100%;
}
/*******************************************************************************
Full-Width Styles
*******************************************************************************/
.outer {
width: 100%;
}
.inner {
position: relative;
max-width: 640px;
padding: 20px 10px;
margin: 0 auto;
}
#forkme_banner {
display: block;
position: absolute;
top:0;
right: 10px;
z-index: 10;
padding: 10px 50px 10px 10px;
color: #fff;
background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%;
font-weight: 700;
box-shadow: 0 0 10px rgba(0,0,0,.5);
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
#header_wrap {
background: #212121;
background: -moz-linear-gradient(top, #373737, #212121);
background: -webkit-linear-gradient(top, #373737, #212121);
background: -ms-linear-gradient(top, #373737, #212121);
background: -o-linear-gradient(top, #373737, #212121);
background: linear-gradient(top, #373737, #212121);
}
#header_wrap .inner {
padding: 50px 10px 30px 10px;
}
#project_title {
margin: 0;
color: #fff;
font-size: 42px;
font-weight: 700;
text-shadow: #111 0px 0px 10px;
}
#project_tagline {
color: #fff;
font-size: 24px;
font-weight: 300;
background: none;
text-shadow: #111 0px 0px 10px;
}
#downloads {
position: absolute;
width: 210px;
z-index: 10;
bottom: -40px;
right: 0;
height: 70px;
background: url('../images/icon_download.png') no-repeat 0% 90%;
}
.zip_download_link {
display: block;
float: right;
width: 90px;
height:70px;
text-indent: -5000px;
overflow: hidden;
background: url(../images/sprite_download.png) no-repeat bottom left;
}
.tar_download_link {
display: block;
float: right;
width: 90px;
height:70px;
text-indent: -5000px;
overflow: hidden;
background: url(../images/sprite_download.png) no-repeat bottom right;
margin-left: 10px;
}
.zip_download_link:hover {
background: url(../images/sprite_download.png) no-repeat top left;
}
.tar_download_link:hover {
background: url(../images/sprite_download.png) no-repeat top right;
}
#main_content_wrap {
background: #f2f2f2;
border-top: 1px solid #111;
border-bottom: 1px solid #111;
}
#main_content {
padding-top: 40px;
}
#footer_wrap {
background: #212121;
}
/*******************************************************************************
Small Device Styles
*******************************************************************************/
@media screen and (max-width: 480px) {
body {
font-size:14px;
}
#downloads {
display: none;
}
.inner {
min-width: 320px;
max-width: 480px;
}
#project_title {
font-size: 32px;
}
h1 {
font-size: 28px;
}
h2 {
font-size: 24px;
}
h3 {
font-size: 21px;
}
h4 {
font-size: 18px;
}
h5 {
font-size: 14px;
}
h6 {
font-size: 12px;
}
code, pre {
min-width: 320px;
max-width: 480px;
font-size: 11px;
}
}