Merge pull request #1327 from palfrey/toc

Add ToC lint
This commit is contained in:
Tom Parker-Shemilt 2022-07-31 20:36:11 +01:00 committed by GitHub
commit 219dfe3ccf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 160 additions and 145 deletions

View File

@ -28,3 +28,16 @@ jobs:
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Check for editorconfig violations - name: Check for editorconfig violations
uses: editorconfig-checker/action-editorconfig-checker@v1 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
View File

@ -1,3 +1,4 @@
.idea/ .idea/
.vscode/ .vscode/
target/ target/
node_modules/

268
README.md
View File

@ -6,100 +6,102 @@ If you want to contribute, please read [this](CONTRIBUTING.md).
## Table of contents ## Table of contents
<!-- toc -->
- [Applications](#applications) - [Applications](#applications)
- [Audio and Music](#audio-and-music) * [Audio and Music](#audio-and-music)
- [Cryptocurrencies](#cryptocurrencies) * [Cryptocurrencies](#cryptocurrencies)
- [Database](#database) * [Database](#database)
- [Emulators](#emulators) * [Emulators](#emulators)
- [Games](#games) * [Games](#games)
- [Graphics](#graphics) * [Graphics](#graphics)
- [Image processing](#image-processing) * [Image processing](#image-processing)
- [Industrial automation](#industrial-automation) * [Industrial automation](#industrial-automation)
- [Observability](#observability) * [Observability](#observability)
- [Operating systems](#operating-systems) * [Operating systems](#operating-systems)
- [Productivity](#productivity) * [Productivity](#productivity)
- [Security tools](#security-tools) * [Security tools](#security-tools)
- [Simulation](#simulation) * [Simulation](#simulation)
- [System tools](#system-tools) * [System tools](#system-tools)
- [Task scheduling](#task-scheduling) * [Task scheduling](#task-scheduling)
- [Text editors](#text-editors) * [Text editors](#text-editors)
- [Text processing](#text-processing) * [Text processing](#text-processing)
- [Utilities](#utilities) * [Utilities](#utilities)
- [Video](#video) * [Video](#video)
- [Virtualization](#virtualization) * [Virtualization](#virtualization)
- [Web](#web) * [Web](#web)
- [Web Servers](#web-servers) * [Web Servers](#web-servers)
- [Development tools](#development-tools) - [Development tools](#development-tools)
- [Build system](#build-system) * [Build system](#build-system)
- [Debugging](#debugging) * [Debugging](#debugging)
- [Deployment](#deployment) * [Deployment](#deployment)
- [Embedded](#embedded) * [Embedded](#embedded)
- [FFI](#ffi) * [FFI](#ffi)
- [IDEs](#ides) * [IDEs](#ides)
- [Pattern recognition](#pattern-recognition) * [Profiling](#profiling)
- [Profiling](#profiling) * [Services](#services)
- [Services](#services) * [Static analysis](#static-analysis)
- [Static analysis](#static-analysis) * [Testing](#testing)
- [Testing](#testing) * [Transpiling](#transpiling)
- [Transpiling](#transpiling)
- [Libraries](#libraries) - [Libraries](#libraries)
- [Artificial Intelligence](#artificial-intelligence) * [Artificial Intelligence](#artificial-intelligence)
- [Genetic algorithms](#genetic-algorithms) + [Genetic algorithms](#genetic-algorithms)
- [Machine learning](#machine-learning) + [Machine learning](#machine-learning)
- [Astronomy](#astronomy) * [Astronomy](#astronomy)
- [Asynchronous](#asynchronous) * [Asynchronous](#asynchronous)
- [Audio and Music](#audio-and-music-1) * [Audio and Music](#audio-and-music-1)
- [Authentication](#authentication) * [Authentication](#authentication)
- [Automotive](#automotive) * [Automotive](#automotive)
- [Bioinformatics](#bioinformatics) * [Bioinformatics](#bioinformatics)
- [Caching](#caching) * [Caching](#caching)
- [Cloud](#cloud) * [Cloud](#cloud)
- [Command-line](#command-line) * [Command-line](#command-line)
- [Compression](#compression) * [Compression](#compression)
- [Computation](#computation) * [Computation](#computation)
- [Concurrency](#concurrency) * [Concurrency](#concurrency)
- [Configuration](#configuration) * [Configuration](#configuration)
- [Cryptography](#cryptography) * [Cryptography](#cryptography)
- [Data processing](#data-processing) * [Data processing](#data-processing)
- [Data streaming](#data-streaming) * [Data streaming](#data-streaming)
- [Data structures](#data-structures) * [Data structures](#data-structures)
- [Data visualization](#data-visualization) * [Data visualization](#data-visualization)
- [Database](#database-1) * [Database](#database-1)
- [Date and time](#date-and-time) * [Date and time](#date-and-time)
- [Distributed systems](#distributed-systems) * [Distributed systems](#distributed-systems)
- [Domain driven design](#domain-driven-design) * [Domain driven design](#domain-driven-design)
- [Email](#email) * [Email](#email)
- [Encoding](#encoding) * [Encoding](#encoding)
- [Filesystem](#filesystem) * [Filesystem](#filesystem)
- [Functional Programming](#functional-programming) * [Functional Programming](#functional-programming)
- [Game development](#game-development) * [Game development](#game-development)
- [Geospatial](#geospatial) * [Geospatial](#geospatial)
- [Graphics](#graphics-1) * [Graphics](#graphics-1)
- [GUI](#gui) * [GUI](#gui)
- [Image processing](#image-processing) * [Image processing](#image-processing-1)
- [Language specification](#language-specification) * [Language specification](#language-specification)
- [Logging](#logging) * [Logging](#logging)
- [Macro](#macro) * [Macro](#macro)
- [Markup language](#markup-language) * [Markup language](#markup-language)
- [Mobile](#mobile) * [Mobile](#mobile)
- [Network programming](#network-programming) * [Network programming](#network-programming)
- [Packaging formats](#packaging-formats) * [Parsing](#parsing)
- [Parsing](#parsing) * [Peripherals](#peripherals)
- [Peripherals](#peripherals) * [Platform specific](#platform-specific)
- [Platform specific](#platform-specific) * [Scripting](#scripting)
- [Scripting](#scripting) * [Simulation](#simulation-1)
- [Simulation](#simulation-1) * [Task scheduling](#task-scheduling-1)
- [Task scheduling](#task-scheduling-1) * [Template engine](#template-engine)
- [Template engine](#template-engine) * [Text processing](#text-processing-1)
- [Text processing](#text-processing-1) * [Text search](#text-search)
- [Text search](#text-search) * [Unsafe](#unsafe)
- [Unsafe](#unsafe) * [Virtualization](#virtualization-1)
- [Virtualization](#virtualization-1) * [Web programming](#web-programming)
- [Web programming](#web-programming)
- [Registries](#registries) - [Registries](#registries)
- [Resources](#resources) - [Resources](#resources)
- [License](#license) - [License](#license)
<!-- tocstop -->
## Applications ## Applications
See also [Rust — Production](https://www.rust-lang.org/production) organizations running Rust in production. See also [Rust — Production](https://www.rust-lang.org/production) organizations running Rust in production.
@ -260,6 +262,7 @@ See also [Games Made With Piston](https://github.com/PistonDevelopers/piston/wik
### Image processing ### Image processing
* [Imager](https://github.com/imager-io/imager) — Automated image optimization. * [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 ### 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. * [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) * [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 ### 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) * [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 Rusts Machine Learning Community](https://medium.com/@autumn_
* [jaemk/cached](https://github.com/jaemk/cached) — Simple function caching/memoization * [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) * [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 ### Cloud
* AWS [[aws](https://crates.io/keywords/aws)] * AWS [[aws](https://crates.io/keywords/aws)]
@ -890,6 +880,14 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
* Statrs * 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) * [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 ### 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) * [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 Rusts 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) * [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 * [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
[[database](https://crates.io/keywords/database)] [[database](https://crates.io/keywords/database)]
@ -993,41 +1026,6 @@ See also [About Rusts Machine Learning Community](https://medium.com/@autumn_
* Sqlite [[sqlite](https://crates.io/keywords/sqlite)] * 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) * [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 and time
[[date](https://crates.io/keywords/date), [time](https://crates.io/keywords/time)] [[date](https://crates.io/keywords/date), [time](https://crates.io/keywords/time)]

View File

@ -597,11 +597,14 @@ async fn main() -> Result<(), Error> {
} }
} }
Event::Html(content) => { Event::Html(content) => {
// Allow ToC markers, nothing else
if !content.contains("<!-- toc") {
return Err(format_err!( return Err(format_err!(
"Contains HTML content, not markdown: {}", "Contains HTML content, not markdown: {}",
content content
)); ));
} }
}
_ => {} _ => {}
} }
} }