<% $LOAD_PATH.push(File.dirname(__FILE__)) %>
<% require 'release_meta' %>

<!DOCTYPE html>
<html lang="en-us">
  <head>
    <meta charset="UTF-8">
    <title>libcbor - CBOR format implementation</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
    <link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen">
  </head>
  <body>
    <section class="page-header">
      <h1 class="project-name">libcbor</h1>
      <h2 class="project-tagline">CBOR format implementation for C &amp; others</h2>
      <h2 class="project-tagline">Latest release: <%= Release.tag %></h2>
      <a href="https://github.com/PJK/libcbor" class="btn">View on GitHub</a>
      <a href="https://github.com/PJK/libcbor/archive/<%= Release.tag %>.tar.gz" class="btn">Download source</a>
      <a href="http://libcbor.readthedocs.io/en/<%= Release.tag %>/using.html" class="btn">Get started</a>
    </section>

    <section class="main-content">


<p><strong>libcbor</strong> is a C library for parsing and generating <a href="http://tools.ietf.org/html/rfc7049">CBOR</a>, the general-purpose schema-less binary data format.</p>

<h2>
<a id="main-features" class="anchor" href="#main-features" aria-hidden="true"><span class="octicon octicon-link"></span></a>Main features</h2>

<ul>
  <li>Complete RFC conformance</li>
  <li>Robust portable C99 implementation</li>
  <li>Layered architecture offers both control and convenience</li>
  <li>Flexible memory management</li>
  <li>Proper handling of UTF-8</li>
  <li>Full support for streams &amp; incremental processing</li>
  <li>Extensive documentation and test suite</li>
  <li>No runtime dependencies, small footprint</li>
  <li>Tested across architectures and operating systems</li>
</ul>

<h2>A taste of the API</h2>
<script src="https://gist.github.com/PJK/962a468886d24195d1ee.js"></script>

<h2><a id="distrib" class="anchor" href="#distrib" aria-hidden="true"><span class="octicon octicon-link"></span></a>Distribution</h2>

<h3>OS X</h3>
<pre><code>brew tap pjk/libcbor
brew install libcbor
</code></pre>

<h3>Linux</h3>
<p>
  Please refer to <a href="http://libcbor.readthedocs.io/en/latest/getting_started.html">the documentation</a> on how to build <i>libcbor</i>.
</p>

<p>
  deb and RPM packages can be built effortlessly using <a href="https://cmake.org/cmake/help/v3.0/module/CPack.html">CPack</a>. <i>libcbor</i> also comes with <a href="https://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a> support</li>.
</p>

<h3>Windows</h3>
<p>
  Windows are supported and <a href="https://ci.appveyor.com/project/PJK/libcbor">tested for</a>. CMake can target both MSVC and Cygwin toolchains. Please refer to <a href="http://libcbor.readthedocs.io/en/latest/getting_started.html">the documentation</a> on how to do so.
</p>

<h3>Other platforms</h3>
<p>
  As long as CMake and a C99 compiler are available, <i>libcbor</i> will work. Read more <a href="http://libcbor.readthedocs.io/en/latest/getting_started.html">here</a>.
</p>

<h2>
<a id="documentation" class="anchor" href="#documentation" aria-hidden="true"><span class="octicon octicon-link"></span></a>Resources &amp; documentation</h2>

<ul>
  <li>User documentation is available online from <a href="http://libcbor.readthedocs.org/en/latest/">http://libcbor.readthedocs.org/en/latest/</a></li>
  <li>Detailed build instructions are a part of the documentation</li>
  <li>API reference is available either <a href="doxygen/index.html">online</a> or <a href="https://github.com/PJK/libcbor/releases/download/<%= Release.tag %>/libcbor_api_docs.tar.gz">as a part of the release</a></li>
  <li><a href="https://github.com/PJK/libcbor/issues">Bug tracker</a>
  <li><a href="https://github.com/PJK/libcbor/blob/master/CHANGELOG.md">Changelog</a>
  <li><a href="https://github.com/PJK/libcbor/releases">Older releases</a>
</ul>

<h2>Ruby bindings</h2>
<p>If you write Ruby, you might be interested in the <a href="https://github.com/PJK/libcbor-ruby">Ruby bindings for <i>libcbor</i></a>.</p>


<h2><a id="license" class="anchor" href="#license" aria-hidden="true"><span class="octicon octicon-link"></span></a>Licensing</h2>

<p><i>libcbor</i> is distributed under the terms of the MIT license, as found in the source code.</p>

<p>Copyright (c) Pavel Kalvoda, 2014 - <%= Time.now.year %></p>

      <footer class="site-footer">
        <span class="site-footer-owner"><a href="https://github.com/PJK/libcbor">libcbor</a> is maintained by <a href="https://github.com/PJK">PJK</a>.</span>
        <span class="site-footer-credits">This page is based on the <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a> by <a href="https://twitter.com/jasonlong">Jason Long</a>.</span>
      </footer>

    </section>

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-8187884-5', 'auto');
  ga('send', 'pageview');

</script>
  </body>
</html>
