mirror of
https://github.com/rust-unofficial/awesome-rust
synced 2024-11-19 21:25:33 +00:00
commit
219dfe3ccf
13
.github/workflows/lint.yml
vendored
13
.github/workflows/lint.yml
vendored
@ -28,3 +28,16 @@ jobs:
|
||||
uses: actions/checkout@v2
|
||||
- name: Check for editorconfig violations
|
||||
uses: editorconfig-checker/action-editorconfig-checker@v1
|
||||
|
||||
lint-markdown-toc:
|
||||
runs-on: ubuntu-latest
|
||||
name: Lint for Table of Contents
|
||||
steps:
|
||||
- name: Checkout the repository
|
||||
uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
- run: npm install markdown-toc
|
||||
- run: ./node_modules/.bin/markdown-toc -i README.md
|
||||
- run: git diff --exit-code
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
.idea/
|
||||
.vscode/
|
||||
target/
|
||||
node_modules/
|
||||
|
280
README.md
280
README.md
@ -6,99 +6,101 @@ If you want to contribute, please read [this](CONTRIBUTING.md).
|
||||
|
||||
## Table of contents
|
||||
|
||||
- [Applications](#applications)
|
||||
- [Audio and Music](#audio-and-music)
|
||||
- [Cryptocurrencies](#cryptocurrencies)
|
||||
- [Database](#database)
|
||||
- [Emulators](#emulators)
|
||||
- [Games](#games)
|
||||
- [Graphics](#graphics)
|
||||
- [Image processing](#image-processing)
|
||||
- [Industrial automation](#industrial-automation)
|
||||
- [Observability](#observability)
|
||||
- [Operating systems](#operating-systems)
|
||||
- [Productivity](#productivity)
|
||||
- [Security tools](#security-tools)
|
||||
- [Simulation](#simulation)
|
||||
- [System tools](#system-tools)
|
||||
- [Task scheduling](#task-scheduling)
|
||||
- [Text editors](#text-editors)
|
||||
- [Text processing](#text-processing)
|
||||
- [Utilities](#utilities)
|
||||
- [Video](#video)
|
||||
- [Virtualization](#virtualization)
|
||||
- [Web](#web)
|
||||
- [Web Servers](#web-servers)
|
||||
- [Development tools](#development-tools)
|
||||
- [Build system](#build-system)
|
||||
- [Debugging](#debugging)
|
||||
- [Deployment](#deployment)
|
||||
- [Embedded](#embedded)
|
||||
- [FFI](#ffi)
|
||||
- [IDEs](#ides)
|
||||
- [Pattern recognition](#pattern-recognition)
|
||||
- [Profiling](#profiling)
|
||||
- [Services](#services)
|
||||
- [Static analysis](#static-analysis)
|
||||
- [Testing](#testing)
|
||||
- [Transpiling](#transpiling)
|
||||
- [Libraries](#libraries)
|
||||
- [Artificial Intelligence](#artificial-intelligence)
|
||||
- [Genetic algorithms](#genetic-algorithms)
|
||||
- [Machine learning](#machine-learning)
|
||||
- [Astronomy](#astronomy)
|
||||
- [Asynchronous](#asynchronous)
|
||||
- [Audio and Music](#audio-and-music-1)
|
||||
- [Authentication](#authentication)
|
||||
- [Automotive](#automotive)
|
||||
- [Bioinformatics](#bioinformatics)
|
||||
- [Caching](#caching)
|
||||
- [Cloud](#cloud)
|
||||
- [Command-line](#command-line)
|
||||
- [Compression](#compression)
|
||||
- [Computation](#computation)
|
||||
- [Concurrency](#concurrency)
|
||||
- [Configuration](#configuration)
|
||||
- [Cryptography](#cryptography)
|
||||
- [Data processing](#data-processing)
|
||||
- [Data streaming](#data-streaming)
|
||||
- [Data structures](#data-structures)
|
||||
- [Data visualization](#data-visualization)
|
||||
- [Database](#database-1)
|
||||
- [Date and time](#date-and-time)
|
||||
- [Distributed systems](#distributed-systems)
|
||||
- [Domain driven design](#domain-driven-design)
|
||||
- [Email](#email)
|
||||
- [Encoding](#encoding)
|
||||
- [Filesystem](#filesystem)
|
||||
- [Functional Programming](#functional-programming)
|
||||
- [Game development](#game-development)
|
||||
- [Geospatial](#geospatial)
|
||||
- [Graphics](#graphics-1)
|
||||
- [GUI](#gui)
|
||||
- [Image processing](#image-processing)
|
||||
- [Language specification](#language-specification)
|
||||
- [Logging](#logging)
|
||||
- [Macro](#macro)
|
||||
- [Markup language](#markup-language)
|
||||
- [Mobile](#mobile)
|
||||
- [Network programming](#network-programming)
|
||||
- [Packaging formats](#packaging-formats)
|
||||
- [Parsing](#parsing)
|
||||
- [Peripherals](#peripherals)
|
||||
- [Platform specific](#platform-specific)
|
||||
- [Scripting](#scripting)
|
||||
- [Simulation](#simulation-1)
|
||||
- [Task scheduling](#task-scheduling-1)
|
||||
- [Template engine](#template-engine)
|
||||
- [Text processing](#text-processing-1)
|
||||
- [Text search](#text-search)
|
||||
- [Unsafe](#unsafe)
|
||||
- [Virtualization](#virtualization-1)
|
||||
- [Web programming](#web-programming)
|
||||
- [Registries](#registries)
|
||||
- [Resources](#resources)
|
||||
- [License](#license)
|
||||
<!-- toc -->
|
||||
|
||||
- [Applications](#applications)
|
||||
* [Audio and Music](#audio-and-music)
|
||||
* [Cryptocurrencies](#cryptocurrencies)
|
||||
* [Database](#database)
|
||||
* [Emulators](#emulators)
|
||||
* [Games](#games)
|
||||
* [Graphics](#graphics)
|
||||
* [Image processing](#image-processing)
|
||||
* [Industrial automation](#industrial-automation)
|
||||
* [Observability](#observability)
|
||||
* [Operating systems](#operating-systems)
|
||||
* [Productivity](#productivity)
|
||||
* [Security tools](#security-tools)
|
||||
* [Simulation](#simulation)
|
||||
* [System tools](#system-tools)
|
||||
* [Task scheduling](#task-scheduling)
|
||||
* [Text editors](#text-editors)
|
||||
* [Text processing](#text-processing)
|
||||
* [Utilities](#utilities)
|
||||
* [Video](#video)
|
||||
* [Virtualization](#virtualization)
|
||||
* [Web](#web)
|
||||
* [Web Servers](#web-servers)
|
||||
- [Development tools](#development-tools)
|
||||
* [Build system](#build-system)
|
||||
* [Debugging](#debugging)
|
||||
* [Deployment](#deployment)
|
||||
* [Embedded](#embedded)
|
||||
* [FFI](#ffi)
|
||||
* [IDEs](#ides)
|
||||
* [Profiling](#profiling)
|
||||
* [Services](#services)
|
||||
* [Static analysis](#static-analysis)
|
||||
* [Testing](#testing)
|
||||
* [Transpiling](#transpiling)
|
||||
- [Libraries](#libraries)
|
||||
* [Artificial Intelligence](#artificial-intelligence)
|
||||
+ [Genetic algorithms](#genetic-algorithms)
|
||||
+ [Machine learning](#machine-learning)
|
||||
* [Astronomy](#astronomy)
|
||||
* [Asynchronous](#asynchronous)
|
||||
* [Audio and Music](#audio-and-music-1)
|
||||
* [Authentication](#authentication)
|
||||
* [Automotive](#automotive)
|
||||
* [Bioinformatics](#bioinformatics)
|
||||
* [Caching](#caching)
|
||||
* [Cloud](#cloud)
|
||||
* [Command-line](#command-line)
|
||||
* [Compression](#compression)
|
||||
* [Computation](#computation)
|
||||
* [Concurrency](#concurrency)
|
||||
* [Configuration](#configuration)
|
||||
* [Cryptography](#cryptography)
|
||||
* [Data processing](#data-processing)
|
||||
* [Data streaming](#data-streaming)
|
||||
* [Data structures](#data-structures)
|
||||
* [Data visualization](#data-visualization)
|
||||
* [Database](#database-1)
|
||||
* [Date and time](#date-and-time)
|
||||
* [Distributed systems](#distributed-systems)
|
||||
* [Domain driven design](#domain-driven-design)
|
||||
* [Email](#email)
|
||||
* [Encoding](#encoding)
|
||||
* [Filesystem](#filesystem)
|
||||
* [Functional Programming](#functional-programming)
|
||||
* [Game development](#game-development)
|
||||
* [Geospatial](#geospatial)
|
||||
* [Graphics](#graphics-1)
|
||||
* [GUI](#gui)
|
||||
* [Image processing](#image-processing-1)
|
||||
* [Language specification](#language-specification)
|
||||
* [Logging](#logging)
|
||||
* [Macro](#macro)
|
||||
* [Markup language](#markup-language)
|
||||
* [Mobile](#mobile)
|
||||
* [Network programming](#network-programming)
|
||||
* [Parsing](#parsing)
|
||||
* [Peripherals](#peripherals)
|
||||
* [Platform specific](#platform-specific)
|
||||
* [Scripting](#scripting)
|
||||
* [Simulation](#simulation-1)
|
||||
* [Task scheduling](#task-scheduling-1)
|
||||
* [Template engine](#template-engine)
|
||||
* [Text processing](#text-processing-1)
|
||||
* [Text search](#text-search)
|
||||
* [Unsafe](#unsafe)
|
||||
* [Virtualization](#virtualization-1)
|
||||
* [Web programming](#web-programming)
|
||||
- [Registries](#registries)
|
||||
- [Resources](#resources)
|
||||
- [License](#license)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## Applications
|
||||
|
||||
@ -260,6 +262,7 @@ See also [Games Made With Piston](https://github.com/PistonDevelopers/piston/wik
|
||||
### Image processing
|
||||
|
||||
* [Imager](https://github.com/imager-io/imager) — Automated image optimization.
|
||||
* [shssoichiro/oxipng](https://github.com/shssoichiro/oxipng) [[oxipng](https://crates.io/crates/oxipng)] — Multithreaded PNG optimizer written in Rust. [![Build Status](https://github.com/shssoichiro/oxipng/workflows/oxipng/badge.svg)](https://github.com/shssoichiro/oxipng/actions?query=branch%3Amaster) [![Version](https://img.shields.io/crates/v/oxipng.svg)](https://crates.io/crates/oxipng)
|
||||
|
||||
### Industrial automation
|
||||
|
||||
@ -389,11 +392,6 @@ See also [A comparison of operating systems written in Rust](https://github.com/
|
||||
* [whitfin/runiq](https://github.com/whitfin/runiq) — an efficient way to filter duplicate lines from unsorted input.
|
||||
* [xsv](https://crates.io/crates/xsv) — A fast CSV command line tool (slicing, indexing, selecting, searching, sampling, etc.) [![build badge](https://api.travis-ci.org/BurntSushi/xsv.svg?branch=master)](https://travis-ci.org/BurntSushi/xsv)
|
||||
|
||||
### Image processing
|
||||
|
||||
* [Imager](https://github.com/imager-io/imager) — Automated image optimization.
|
||||
* [shssoichiro/oxipng](https://github.com/shssoichiro/oxipng) [[oxipng](https://crates.io/crates/oxipng)] — Multithreaded PNG optimizer written in Rust. [![Build Status](https://github.com/shssoichiro/oxipng/workflows/oxipng/badge.svg)](https://github.com/shssoichiro/oxipng/actions?query=branch%3Amaster) [![Version](https://img.shields.io/crates/v/oxipng.svg)](https://crates.io/crates/oxipng)
|
||||
|
||||
### Utilities
|
||||
|
||||
* [1History](https://github.com/1History/1History) — Command line interface to backup Firefox/Chrome/Safari history to one SQLite file [![Build Status](https://github.com/1History/1History/actions/workflows/CI.yml/badge.svg)](https://github.com/1History/1History/actions/workflows/CI.yml)
|
||||
@ -775,14 +773,6 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
||||
* [jaemk/cached](https://github.com/jaemk/cached) — Simple function caching/memoization
|
||||
* [mozilla/sccache](https://github.com/mozilla/sccache/) - Shared Compilation Cache, great for Rust compilation [![build badge](https://api.travis-ci.org/mozilla/sccache.svg?branch=master)](https://travis-ci.org/mozilla/sccache)
|
||||
|
||||
### Concurrency
|
||||
|
||||
* [crossbeam-rs/crossbeam](https://github.com/crossbeam-rs/crossbeam) – Support for parallelism and low-level concurrency in Rust [![build badge](https://api.travis-ci.org/crossbeam-rs/crossbeam.svg?branch=master)](https://travis-ci.org/crossbeam-rs/crossbeam)
|
||||
* [orium/archery](https://github.com/orium/archery) [[archery](https://crates.io/crates/archery)] — Library to abstract from `Rc`/`Arc` pointer types. [![build badge](https://api.travis-ci.org/orium/archery.svg?branch=master)](https://travis-ci.org/orium/archery)
|
||||
* [Rayon](https://github.com/rayon-rs/rayon) – A data parallelism library for Rust [![build badge](https://api.travis-ci.org/rayon-rs/rayon.svg?branch=master)](https://travis-ci.org/rayon-rs/rayon)
|
||||
* [rustcc/coroutine-rs](https://github.com/rustcc/coroutine-rs) – Coroutine Library in Rust [![build badge](https://api.travis-ci.org/rustcc/coroutine-rs.svg?branch=master)](https://travis-ci.org/rustcc/coroutine-rs)
|
||||
* [zonyitoo/coio-rs](https://github.com/zonyitoo/coio-rs) – Coroutine I/O for Rust [![build badge](https://api.travis-ci.org/zonyitoo/coio-rs.svg?branch=master)](https://travis-ci.org/zonyitoo/coio-rs)
|
||||
|
||||
### Cloud
|
||||
|
||||
* AWS [[aws](https://crates.io/keywords/aws)]
|
||||
@ -890,6 +880,14 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
||||
* Statrs
|
||||
* [statrs-dev/statrs](https://github.com/statrs-dev/statrs) — Robust statistical computation library in Rust [![Build Status](https://api.travis-ci.org/boxtown/statrs.svg?branch=master)](https://travis-ci.org/boxtown/statrs)
|
||||
|
||||
### Concurrency
|
||||
|
||||
* [crossbeam-rs/crossbeam](https://github.com/crossbeam-rs/crossbeam) – Support for parallelism and low-level concurrency in Rust [![build badge](https://api.travis-ci.org/crossbeam-rs/crossbeam.svg?branch=master)](https://travis-ci.org/crossbeam-rs/crossbeam)
|
||||
* [orium/archery](https://github.com/orium/archery) [[archery](https://crates.io/crates/archery)] — Library to abstract from `Rc`/`Arc` pointer types. [![build badge](https://api.travis-ci.org/orium/archery.svg?branch=master)](https://travis-ci.org/orium/archery)
|
||||
* [Rayon](https://github.com/rayon-rs/rayon) – A data parallelism library for Rust [![build badge](https://api.travis-ci.org/rayon-rs/rayon.svg?branch=master)](https://travis-ci.org/rayon-rs/rayon)
|
||||
* [rustcc/coroutine-rs](https://github.com/rustcc/coroutine-rs) – Coroutine Library in Rust [![build badge](https://api.travis-ci.org/rustcc/coroutine-rs.svg?branch=master)](https://travis-ci.org/rustcc/coroutine-rs)
|
||||
* [zonyitoo/coio-rs](https://github.com/zonyitoo/coio-rs) – Coroutine I/O for Rust [![build badge](https://api.travis-ci.org/zonyitoo/coio-rs.svg?branch=master)](https://travis-ci.org/zonyitoo/coio-rs)
|
||||
|
||||
### Configuration
|
||||
|
||||
* [andoriyu/uclicious](https://github.com/andoriyu/uclicious) [[uclicious](https://crates.io/crates/uclicious)] — [libUCL](https://github.com/vstakhov/libucl) based feature-rich configuration library. [![CircleCI](https://circleci.com/gh/vstakhov/libucl.svg?style=svg)](https://app.circleci.com/pipelines/github/vstakhov/libucl)
|
||||
@ -925,6 +923,41 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
||||
* [vityafx/randomorg](https://github.com/vityafx/randomorg) - A random.org client library. [![Crates badge](https://img.shields.io/crates/v/randomorg.svg)](https://crates.io/crates/randomorg)
|
||||
* [w3f/schnorrkel](https://github.com/w3f/schnorrkel) - Schnorr VRFs and signatures on the Ristretto group
|
||||
|
||||
### Data processing
|
||||
|
||||
* [amv-dev/yata](https://github.com/amv-dev/yata) — high perfomance technical analysis library [![Build Status](https://img.shields.io/github/workflow/status/amv-dev/yata/Rust?branch=master)](https://github.com/amv-dev/yata/actions?query=workflow%3ARust)
|
||||
* [bluss/ndarray](https://github.com/rust-ndarray/ndarray) — N-dimensional array with array views, multidimensional slicing, and efficient operations
|
||||
* [kernelmachine/utah](https://github.com/kernelmachine/utah) — Dataframe structure and operations in Rust
|
||||
* [pola-rs/polars](https://github.com/pola-rs/polars) - Fast feature complete DataFrame library ![Build and test](https://github.com/pola-rs/polars/workflows/Build%20and%20test/badge.svg?branch=master)
|
||||
* [weld-project/weld](https://github.com/weld-project/weld) — High-performance runtime for data analytics applications
|
||||
|
||||
### Data streaming
|
||||
|
||||
* [infinyon/fluvio](https://github.com/infinyon/fluvio) - Programmable data streaming platform [![CI](https://github.com/infinyon/fluvio/workflows/CI/badge.svg?branch=stable)](https://github.com/infinyon/fluvio/actions)
|
||||
|
||||
### Data structures
|
||||
|
||||
* [billyevans/tst](https://github.com/billyevans/tst) [[tst](https://crates.io/crates/tst)] — Ternary search tree collection [![build badge](https://api.travis-ci.org/billyevans/tst.svg?branch=master)](https://travis-ci.org/billyevans/tst)
|
||||
* [contain-rs](https://github.com/contain-rs) — Extension of Rust's std::collections
|
||||
* [danielpclark/array_tool](https://github.com/danielpclark/array_tool) — Array helpers for Rust. Some of the most common methods you would use on Arrays made available on Vectors. Polymorphic implementations for handling most of your use cases. [![build badge](https://api.travis-ci.org/danielpclark/array_tool.svg?branch=master)](https://travis-ci.org/danielpclark/array_tool)
|
||||
* [fizyk20/generic-array](https://github.com/fizyk20/generic-array) – a hack to allow for arrays sized by typenums [![build badge](https://api.travis-ci.org/fizyk20/generic-array.svg?branch=master)](https://travis-ci.org/fizyk20/generic-array)
|
||||
* [garro95/priority-queue](https://github.com/garro95/priority-queue)[[priority-queue](https://crates.io/crates/priority-queue)] — A priority queue that implements priority changes. [![build badge](https://api.travis-ci.org/garro95/priority-queue.svg?branch=master)](https://travis-ci.org/garro95/priority-queue)
|
||||
* [mrhooray/kdtree-rs](https://github.com/mrhooray/kdtree-rs) — K-dimensional tree in Rust for fast geospatial indexing and nearest neighbors lookup
|
||||
* [orium/rpds](https://github.com/orium/rpds) [[rpds](https://crates.io/crates/rpds)] — Persistent data structures in Rust. [![build badge](https://github.com/orium/rpds/workflows/CI/badge.svg)](https://github.com/orium/rpds/actions?query=workflow%3ACI)
|
||||
* [RoaringBitmap/roaring-rs](https://github.com/RoaringBitmap/roaring-rs) – Roaring Bitmaps in Rust
|
||||
* [rust-itertools/itertools](https://github.com/rust-itertools/itertools) — [![build badge](https://api.travis-ci.org/rust-itertools/itertools.svg?branch=master)](https://travis-ci.org/rust-itertools/itertools)
|
||||
* [tnballo/scapegoat](https://github.com/tnballo/scapegoat) [[scapegoat](https://crates.io/crates/scapegoat)] — Safe, fallible, stack-only alternative to `BTreeSet` and `BTreeMap`. [![GitHub Actions](https://github.com/tnballo/scapegoat/workflows/test/badge.svg?branch=master)](https://github.com/tnballo/scapegoat/actions)
|
||||
* [xfix/enum-map](https://github.com/xfix/enum-map) [[enum-map](https://crates.io/crates/enum-map)] — An optimized map implementation for enums using an array to store values. [![build badge](https://api.travis-ci.org/xfix/enum-map.svg?branch=master)](https://travis-ci.org/xfix/enum-map)
|
||||
* [yamafaktory/hypergraph](https://github.com/yamafaktory/hypergraph) [[hypergraph](https://crates.io/crates/hypergraph)] — Hypergraph is a data structure library to generate directed hypergraphs. [![ci](https://github.com/yamafaktory/hypergraph/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/yamafaktory/hypergraph/actions/workflows/ci.yml)
|
||||
|
||||
### Data visualization
|
||||
|
||||
* [djduque/pgfplots](https://github.com/djduque/pgfplots) [[pgfplots](https://crates.io/crates/pgfplots)] — A Rust library to generate publication-quality figures. [![build](https://github.com/DJDuque/pgfplots/actions/workflows/rust.yml/badge.svg)](https://github.com/DJDuque/pgfplots/actions/workflows/rust.yml)
|
||||
* [igiagkiozis/plotly](https://github.com/igiagkiozis/plotly) — Plotly for Rust.
|
||||
* [milliams/plotlib](https://github.com/milliams/plotlib) — [![build badge](https://api.travis-ci.org/milliams/plotlib.svg?branch=master)](https://travis-ci.org/milliams/plotlib)
|
||||
* [plotters](https://github.com/plotters-rs/plotters) — [![build badge](https://github.com/plotters-rs/plotters/workflows/CI/badge.svg)](https://github.com/plotters-rs/plotters/actions)
|
||||
* [saresend/gust](https://github.com/saresend/Gust) — [![build badge](https://api.travis-ci.org/saresend/Gust.svg?branch=master)](https://travis-ci.org/saresend/Gust)
|
||||
|
||||
### Database
|
||||
|
||||
[[database](https://crates.io/keywords/database)]
|
||||
@ -993,41 +1026,6 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_
|
||||
* Sqlite [[sqlite](https://crates.io/keywords/sqlite)]
|
||||
* [rusqlite](https://github.com/rusqlite/rusqlite) — [Sqlite3](https://www.sqlite.org/index.html) bindings [![build badge](https://api.travis-ci.org/rusqlite/rusqlite.svg?branch=master)](https://travis-ci.org/rusqlite/rusqlite)
|
||||
|
||||
### Data processing
|
||||
|
||||
* [amv-dev/yata](https://github.com/amv-dev/yata) — high perfomance technical analysis library [![Build Status](https://img.shields.io/github/workflow/status/amv-dev/yata/Rust?branch=master)](https://github.com/amv-dev/yata/actions?query=workflow%3ARust)
|
||||
* [bluss/ndarray](https://github.com/rust-ndarray/ndarray) — N-dimensional array with array views, multidimensional slicing, and efficient operations
|
||||
* [kernelmachine/utah](https://github.com/kernelmachine/utah) — Dataframe structure and operations in Rust
|
||||
* [pola-rs/polars](https://github.com/pola-rs/polars) - Fast feature complete DataFrame library ![Build and test](https://github.com/pola-rs/polars/workflows/Build%20and%20test/badge.svg?branch=master)
|
||||
* [weld-project/weld](https://github.com/weld-project/weld) — High-performance runtime for data analytics applications
|
||||
|
||||
### Data streaming
|
||||
|
||||
* [infinyon/fluvio](https://github.com/infinyon/fluvio) - Programmable data streaming platform [![CI](https://github.com/infinyon/fluvio/workflows/CI/badge.svg?branch=stable)](https://github.com/infinyon/fluvio/actions)
|
||||
|
||||
### Data structures
|
||||
|
||||
* [billyevans/tst](https://github.com/billyevans/tst) [[tst](https://crates.io/crates/tst)] — Ternary search tree collection [![build badge](https://api.travis-ci.org/billyevans/tst.svg?branch=master)](https://travis-ci.org/billyevans/tst)
|
||||
* [contain-rs](https://github.com/contain-rs) — Extension of Rust's std::collections
|
||||
* [danielpclark/array_tool](https://github.com/danielpclark/array_tool) — Array helpers for Rust. Some of the most common methods you would use on Arrays made available on Vectors. Polymorphic implementations for handling most of your use cases. [![build badge](https://api.travis-ci.org/danielpclark/array_tool.svg?branch=master)](https://travis-ci.org/danielpclark/array_tool)
|
||||
* [fizyk20/generic-array](https://github.com/fizyk20/generic-array) – a hack to allow for arrays sized by typenums [![build badge](https://api.travis-ci.org/fizyk20/generic-array.svg?branch=master)](https://travis-ci.org/fizyk20/generic-array)
|
||||
* [garro95/priority-queue](https://github.com/garro95/priority-queue)[[priority-queue](https://crates.io/crates/priority-queue)] — A priority queue that implements priority changes. [![build badge](https://api.travis-ci.org/garro95/priority-queue.svg?branch=master)](https://travis-ci.org/garro95/priority-queue)
|
||||
* [mrhooray/kdtree-rs](https://github.com/mrhooray/kdtree-rs) — K-dimensional tree in Rust for fast geospatial indexing and nearest neighbors lookup
|
||||
* [orium/rpds](https://github.com/orium/rpds) [[rpds](https://crates.io/crates/rpds)] — Persistent data structures in Rust. [![build badge](https://github.com/orium/rpds/workflows/CI/badge.svg)](https://github.com/orium/rpds/actions?query=workflow%3ACI)
|
||||
* [RoaringBitmap/roaring-rs](https://github.com/RoaringBitmap/roaring-rs) – Roaring Bitmaps in Rust
|
||||
* [rust-itertools/itertools](https://github.com/rust-itertools/itertools) — [![build badge](https://api.travis-ci.org/rust-itertools/itertools.svg?branch=master)](https://travis-ci.org/rust-itertools/itertools)
|
||||
* [tnballo/scapegoat](https://github.com/tnballo/scapegoat) [[scapegoat](https://crates.io/crates/scapegoat)] — Safe, fallible, stack-only alternative to `BTreeSet` and `BTreeMap`. [![GitHub Actions](https://github.com/tnballo/scapegoat/workflows/test/badge.svg?branch=master)](https://github.com/tnballo/scapegoat/actions)
|
||||
* [xfix/enum-map](https://github.com/xfix/enum-map) [[enum-map](https://crates.io/crates/enum-map)] — An optimized map implementation for enums using an array to store values. [![build badge](https://api.travis-ci.org/xfix/enum-map.svg?branch=master)](https://travis-ci.org/xfix/enum-map)
|
||||
* [yamafaktory/hypergraph](https://github.com/yamafaktory/hypergraph) [[hypergraph](https://crates.io/crates/hypergraph)] — Hypergraph is a data structure library to generate directed hypergraphs. [![ci](https://github.com/yamafaktory/hypergraph/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/yamafaktory/hypergraph/actions/workflows/ci.yml)
|
||||
|
||||
### Data visualization
|
||||
|
||||
* [djduque/pgfplots](https://github.com/djduque/pgfplots) [[pgfplots](https://crates.io/crates/pgfplots)] — A Rust library to generate publication-quality figures. [![build](https://github.com/DJDuque/pgfplots/actions/workflows/rust.yml/badge.svg)](https://github.com/DJDuque/pgfplots/actions/workflows/rust.yml)
|
||||
* [igiagkiozis/plotly](https://github.com/igiagkiozis/plotly) — Plotly for Rust.
|
||||
* [milliams/plotlib](https://github.com/milliams/plotlib) — [![build badge](https://api.travis-ci.org/milliams/plotlib.svg?branch=master)](https://travis-ci.org/milliams/plotlib)
|
||||
* [plotters](https://github.com/plotters-rs/plotters) — [![build badge](https://github.com/plotters-rs/plotters/workflows/CI/badge.svg)](https://github.com/plotters-rs/plotters/actions)
|
||||
* [saresend/gust](https://github.com/saresend/Gust) — [![build badge](https://api.travis-ci.org/saresend/Gust.svg?branch=master)](https://travis-ci.org/saresend/Gust)
|
||||
|
||||
### Date and time
|
||||
|
||||
[[date](https://crates.io/keywords/date), [time](https://crates.io/keywords/time)]
|
||||
|
11
src/main.rs
11
src/main.rs
@ -597,10 +597,13 @@ async fn main() -> Result<(), Error> {
|
||||
}
|
||||
}
|
||||
Event::Html(content) => {
|
||||
return Err(format_err!(
|
||||
"Contains HTML content, not markdown: {}",
|
||||
content
|
||||
));
|
||||
// Allow ToC markers, nothing else
|
||||
if !content.contains("<!-- toc") {
|
||||
return Err(format_err!(
|
||||
"Contains HTML content, not markdown: {}",
|
||||
content
|
||||
));
|
||||
}
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user