OpenTally/homepage/index.html

112 lines
5.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
layout: default
---
<!-- Header-->
<header class="bg-dark py-5">
<div class="container px-5">
<div class="row gx-5 align-items-center justify-content-center">
<div class="col-lg-8 col-xl-7 col-xxl-6">
<div class="my-5 text-center text-xl-start">
<h1 class="display-5 fw-bolder text-white mb-2">Advanced online election counting</h1>
<p class="lead fw-normal text-white-50 mb-4">Count instant runoff and single transferable vote elections for free, no downloads or sign-up required</p>
<div class="d-grid gap-3 d-sm-flex justify-content-sm-center justify-content-xl-start">
<a class="btn btn-primary btn-lg px-4 me-sm-3" href="{{ site.baseurl }}/stv/">Get Started</a>
<a class="btn btn-outline-light btn-lg px-4" href="{{ site.baseurl }}/about.html">Learn More</a>
</div>
</div>
</div>
<div class="col-xl-5 col-xxl-6 d-none d-xl-block text-center"><img class="img-fluid rounded-3 my-5" src="{{ site.baseurl }}/assets/headerimg.png" alt="Screenshot of OpenTally" /></div>
</div>
</div>
</header>
<!-- Features section-->
<section class="py-5 bg-light" id="features">
<div class="container px-5 my-5">
<div class="row gx-5">
<div class="col-lg-4 mb-5 mb-lg-0"><h2 class="fw-bolder mb-0">Key features</h2></div>
<div class="col-lg-8">
<div class="row gx-5 row-cols-1 row-cols-md-2">
<div class="col mb-5 h-100">
<h2 class="h5">Runs in your browser</h2>
<p class="mb-0">No downloads or sign-ups are required. OpenTally counts are computed entirely inside your browser, and no data ever leaves your computer.</p>
</div>
<div class="col mb-5 h-100">
<h2 class="h5">Wide range of STV systems</h2>
<p class="mb-0">OpenTally supports Gregory (inclusive and exclusive, weighted and unweighted), Meek and Wright variants of the single transferable vote.</p>
</div>
<div class="col mb-5 mb-md-0 h-100">
<h2 class="h5">Support for arbitrary constraints</h2>
<p class="mb-0">OpenTally is the only publicly available election counting software to support arbitrary combinations of constraints, such as gender quotas and other affirmative action requirements.</p>
</div>
<div class="col h-100">
<h2 class="h5">Free and open source</h2>
<p class="mb-0">Source code for OpenTally is publicly available under the <a href="{{ site.git_url }}/tree/COPYING">GNU AGPLv3</a>.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Blog preview section-->
<section class="py-5">
<div class="container px-5 my-5">
<div class="row gx-5 justify-content-center">
<div class="col-lg-8 col-xl-6">
<div class="text-center">
<h2 class="fw-bolder">From our blog</h2>
<p class="lead fw-normal text-muted mb-5">Latest news and posts from the OpenTally blog</p>
</div>
</div>
</div>
<div class="row gx-5">
<div class="col-lg-4 mb-5">
<div class="card h-100 shadow border-0">
<div class="card-body p-4">
<div class="badge bg-primary bg-gradient rounded-pill mb-2">Dev Log</div>
<a class="text-decoration-none link-dark stretched-link" href="{{ site.url }}/blog/2021/08/21/stv-parcels.html"><h5 class="card-title mb-3">Parcels? Subparcels? Not just for STV hand counts!</h5></a>
<p class="card-text mb-0">Single transferable vote rules designed for hand-counting often contain references to parcels (or bundles or batches), further parcels and sometimes even subparcels.</p>
<p>For example, consider the <a href="#">4th stage of the ERS97 model election</a>. 107 of Glazier's and Wright's ballot papers are aggregated according to…</p>
</div>
<div class="card-footer p-4 pt-0 bg-transparent border-top-0">
<div class="small text-muted">21 August 2021</div>
</div>
</div>
</div>
<div class="col-lg-4 mb-5">
<div class="card h-100 shadow border-0">
<div class="card-body p-4">
<div class="badge bg-primary bg-gradient rounded-pill mb-2">Dev Log</div>
<a class="text-decoration-none link-dark stretched-link" href="{{ site.url }}/blog/2021/07/30/blt-parser.html"><h5 class="card-title mb-3">Implementing a BLT parser by hand in Rust (vs pest and combine)</h5></a>
<p class="card-text"><a href="#">OpenTally</a> is open-source software which can count single transferable vote elections specified using the <a href="#">BLT file format</a>.</p>
<p class="card-text mb-0">Earlier this month, I <a href="#">replaced</a> OpenTally's previous naive <a href="#">string-manipulation-based BLT parser</a> with one using <a href="#">pest</a>. A new parser was necessary to support <a href="#">extensions to the BLT</a></p>
</div>
<div class="card-footer p-4 pt-0 bg-transparent border-top-0">
<div class="small text-muted">30 July 2021</div>
</div>
</div>
</div>
<div class="col-lg-4 mb-5">
<div class="card h-100 shadow border-0">
<div class="card-body p-4">
<div class="badge bg-primary bg-gradient rounded-pill mb-2">Dev Log</div>
<a class="text-decoration-none link-dark stretched-link" href="{{ site.url }}/blog/2021/07/28/asyncify-vanilla.html"><h5 class="card-title mb-3">Asyncify with vanilla JS/<wbr>WebAssembly (wasm-bindgen compatible)</h5></a>
<p class="card-text">WebAssembly is a technology for executing compiled programs in the web browser at near-native speeds. However, it has a number of current limitations, including that it does not support coroutines/<wbr>asynchronicity.</p>
<p class="card-text mb-0">In <a href="#">OpenTally</a>, WebAssembly is used to run code for counting an election. This…</p>
</div>
<div class="card-footer p-4 pt-0 bg-transparent border-top-0">
<div class="small text-muted">28 July 2021</div>
</div>
</div>
</div>
</div>
<div class="row gx-5 justify-content-center">
<div class="col-8 text-center">
<a class="btn btn-outline-primary btn-lg px-4" href="{{ site.url }}/blog/tag/opentally/">Read More</a>
</div>
</div>
</div>
</section>