diff --git a/.github/workflows/update.yaml b/.github/workflows/update.yaml
new file mode 100644
index 00000000..5d249d4a
--- /dev/null
+++ b/.github/workflows/update.yaml
@@ -0,0 +1,21 @@
+name: Update gh-pages branch on alire.ada.dev
+on:
+ schedule:
+ - cron: '0 0 * * *'
+ push:
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ - uses: alire-project/setup-alire@v1
+ - run: bash -v update-gh-pages.sh
+ env:
+ GITHUB_TOKEN: ${{ secrets.GH_PAGES_UPDATE }}
+
+ - name: Request Github Pages build job
+ run: >-
+ curl -L -X POST
+ -H "Content-Type: application/json"
+ -H "Authorization: token ${{ secrets.GH_PAGES_UPDATE }}"
+ "https://api.github.com/repos/${{ github.repository }}/pages/builds"
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..49448204
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+_site/
+.sass-cache/
+.jekyll-cache/
+.jekyll-metadata
+Gemfile.lock
diff --git a/404.html b/404.html
new file mode 100644
index 00000000..c472b4ea
--- /dev/null
+++ b/404.html
@@ -0,0 +1,24 @@
+---
+layout: default
+---
+
+
+
+
+
404
+
+
Page not found :(
+
The requested page could not be found.
+
diff --git a/CNAME b/CNAME
new file mode 100644
index 00000000..e7611006
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+alire.ada.dev
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 00000000..75618b5b
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,33 @@
+source "https://rubygems.org"
+
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+#gem "jekyll", "~> 3.8.6"
+
+# gem "devlopr"
+
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+gem "github-pages", group: :jekyll_plugins
+
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+ gem "jekyll-feed", "~> 0.6"
+end
+
+# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
+# and associated library.
+install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
+ gem "tzinfo", "~> 1.2"
+ gem "tzinfo-data"
+end
+
+# Performance-booster for watching directories on Windows
+gem "wdm", "~> 0.1.0", :install_if => Gem.win_platform?
+
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..f61b2896
--- /dev/null
+++ b/README.md
@@ -0,0 +1,2 @@
+# alire.ada.dev
+Official website for the project
diff --git a/_badges/aaa.json b/_badges/aaa.json
new file mode 100644
index 00000000..4cbad2bb
--- /dev/null
+++ b/_badges/aaa.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aaa"
+version: "0.2.6"
+---
diff --git a/_badges/ada_fuse.json b/_badges/ada_fuse.json
new file mode 100644
index 00000000..08c78ead
--- /dev/null
+++ b/_badges/ada_fuse.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ada_fuse"
+version: "1.0.1"
+---
diff --git a/_badges/ada_language_server.json b/_badges/ada_language_server.json
new file mode 100644
index 00000000..c36d7770
--- /dev/null
+++ b/_badges/ada_language_server.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ada_language_server"
+version: "23.0.0"
+---
diff --git a/_badges/ada_lua.json b/_badges/ada_lua.json
new file mode 100644
index 00000000..e04779da
--- /dev/null
+++ b/_badges/ada_lua.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ada_lua"
+version: "0.1.0"
+---
diff --git a/_badges/ada_pretty.json b/_badges/ada_pretty.json
new file mode 100644
index 00000000..385b0932
--- /dev/null
+++ b/_badges/ada_pretty.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ada_pretty"
+version: "1.0.0"
+---
diff --git a/_badges/ada_toml.json b/_badges/ada_toml.json
new file mode 100644
index 00000000..f23bd50e
--- /dev/null
+++ b/_badges/ada_toml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ada_toml"
+version: "0.3.0"
+---
diff --git a/_badges/ada_voxel_space_demo.json b/_badges/ada_voxel_space_demo.json
new file mode 100644
index 00000000..0cbb0510
--- /dev/null
+++ b/_badges/ada_voxel_space_demo.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ada_voxel_space_demo"
+version: "1.0.1"
+---
diff --git a/_badges/adabots.json b/_badges/adabots.json
new file mode 100644
index 00000000..01f069b0
--- /dev/null
+++ b/_badges/adabots.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "adabots"
+version: "1.7.0"
+---
diff --git a/_badges/adacl.json b/_badges/adacl.json
new file mode 100644
index 00000000..7ef41869
--- /dev/null
+++ b/_badges/adacl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "adacl"
+version: "5.15.1"
+---
diff --git a/_badges/adayaml.json b/_badges/adayaml.json
new file mode 100644
index 00000000..d61e046b
--- /dev/null
+++ b/_badges/adayaml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "adayaml"
+version: "0.3.0"
+---
diff --git a/_badges/adl_middleware.json b/_badges/adl_middleware.json
new file mode 100644
index 00000000..3a284e55
--- /dev/null
+++ b/_badges/adl_middleware.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "adl_middleware"
+version: "0.2.0"
+---
diff --git a/_badges/admpfr.json b/_badges/admpfr.json
new file mode 100644
index 00000000..44bb3c21
--- /dev/null
+++ b/_badges/admpfr.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "admpfr"
+version: "4.1.0+20220920"
+---
diff --git a/_badges/ado.json b/_badges/ado.json
new file mode 100644
index 00000000..8561762a
--- /dev/null
+++ b/_badges/ado.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ado"
+version: "2.4.0"
+---
diff --git a/_badges/ado_all.json b/_badges/ado_all.json
new file mode 100644
index 00000000..f282c53d
--- /dev/null
+++ b/_badges/ado_all.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ado_all"
+version: "2.4.0"
+---
diff --git a/_badges/ado_mysql.json b/_badges/ado_mysql.json
new file mode 100644
index 00000000..ebc1e1d3
--- /dev/null
+++ b/_badges/ado_mysql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ado_mysql"
+version: "2.4.0"
+---
diff --git a/_badges/ado_postgresql.json b/_badges/ado_postgresql.json
new file mode 100644
index 00000000..377c6241
--- /dev/null
+++ b/_badges/ado_postgresql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ado_postgresql"
+version: "2.4.0"
+---
diff --git a/_badges/ado_sqlite.json b/_badges/ado_sqlite.json
new file mode 100644
index 00000000..b0aff124
--- /dev/null
+++ b/_badges/ado_sqlite.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ado_sqlite"
+version: "2.4.0"
+---
diff --git a/_badges/aflex.json b/_badges/aflex.json
new file mode 100644
index 00000000..3c76fe2f
--- /dev/null
+++ b/_badges/aflex.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aflex"
+version: "1.6.0"
+---
diff --git a/_badges/agpl.json b/_badges/agpl.json
new file mode 100644
index 00000000..fbe0a8ae
--- /dev/null
+++ b/_badges/agpl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "agpl"
+version: "1.0.0"
+---
diff --git a/_badges/aicwl.json b/_badges/aicwl.json
new file mode 100644
index 00000000..922edff1
--- /dev/null
+++ b/_badges/aicwl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aicwl"
+version: "3.24.1"
+---
diff --git a/_badges/ajunitgen.json b/_badges/ajunitgen.json
new file mode 100644
index 00000000..4ae4656b
--- /dev/null
+++ b/_badges/ajunitgen.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ajunitgen"
+version: "1.0.1"
+---
diff --git a/_badges/akt.json b/_badges/akt.json
new file mode 100644
index 00000000..ade2726d
--- /dev/null
+++ b/_badges/akt.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "akt"
+version: "1.4.0"
+---
diff --git a/_badges/alire-badge.json b/_badges/alire-badge.json
new file mode 100644
index 00000000..3f740f62
--- /dev/null
+++ b/_badges/alire-badge.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: ""
+version: "Alire"
+---
diff --git a/_badges/anagram.json b/_badges/anagram.json
new file mode 100644
index 00000000..4c3bd758
--- /dev/null
+++ b/_badges/anagram.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "anagram"
+version: "1.0.0"
+---
diff --git a/_badges/ansiada.json b/_badges/ansiada.json
new file mode 100644
index 00000000..4c9aae72
--- /dev/null
+++ b/_badges/ansiada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ansiada"
+version: "1.0.0"
+---
diff --git a/_badges/apdf.json b/_badges/apdf.json
new file mode 100644
index 00000000..1c875078
--- /dev/null
+++ b/_badges/apdf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "apdf"
+version: "6.0.0"
+---
diff --git a/_badges/are.json b/_badges/are.json
new file mode 100644
index 00000000..4dbf0353
--- /dev/null
+++ b/_badges/are.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "are"
+version: "1.3.0"
+---
diff --git a/_badges/asfml.json b/_badges/asfml.json
new file mode 100644
index 00000000..86ab0e83
--- /dev/null
+++ b/_badges/asfml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "asfml"
+version: "2.5.4"
+---
diff --git a/_badges/ashell.json b/_badges/ashell.json
new file mode 100644
index 00000000..dfb10829
--- /dev/null
+++ b/_badges/ashell.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ashell"
+version: "1.3.0"
+---
diff --git a/_badges/asis.json b/_badges/asis.json
new file mode 100644
index 00000000..986749eb
--- /dev/null
+++ b/_badges/asis.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "asis"
+version: "2019.0.0"
+---
diff --git a/_badges/atari_atr_tools.json b/_badges/atari_atr_tools.json
new file mode 100644
index 00000000..970bd203
--- /dev/null
+++ b/_badges/atari_atr_tools.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "atari_atr_tools"
+version: "1.5.0"
+---
diff --git a/_badges/atari_exe_tools.json b/_badges/atari_exe_tools.json
new file mode 100644
index 00000000..552050e5
--- /dev/null
+++ b/_badges/atari_exe_tools.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "atari_exe_tools"
+version: "1.5.0"
+---
diff --git a/_badges/atomic.json b/_badges/atomic.json
new file mode 100644
index 00000000..dd07fa5b
--- /dev/null
+++ b/_badges/atomic.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "atomic"
+version: "0.5.0"
+---
diff --git a/_badges/audio_base.json b/_badges/audio_base.json
new file mode 100644
index 00000000..47745c1d
--- /dev/null
+++ b/_badges/audio_base.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "audio_base"
+version: "1.0.0"
+---
diff --git a/_badges/audio_wavefiles.json b/_badges/audio_wavefiles.json
new file mode 100644
index 00000000..8398f5a8
--- /dev/null
+++ b/_badges/audio_wavefiles.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "audio_wavefiles"
+version: "2.0.0"
+---
diff --git a/_badges/aunit.json b/_badges/aunit.json
new file mode 100644
index 00000000..6a7365b5
--- /dev/null
+++ b/_badges/aunit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aunit"
+version: "23.0.0"
+---
diff --git a/_badges/automate.json b/_badges/automate.json
new file mode 100644
index 00000000..dbef8ed0
--- /dev/null
+++ b/_badges/automate.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "automate"
+version: "2.2.2"
+---
diff --git a/_badges/avltrees.json b/_badges/avltrees.json
new file mode 100644
index 00000000..756f3aa5
--- /dev/null
+++ b/_badges/avltrees.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "avltrees"
+version: "0.1.0"
+---
diff --git a/_badges/avrada_examples.json b/_badges/avrada_examples.json
new file mode 100644
index 00000000..91d80b61
--- /dev/null
+++ b/_badges/avrada_examples.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "avrada_examples"
+version: "1.0.1"
+---
diff --git a/_badges/avrada_lib.json b/_badges/avrada_lib.json
new file mode 100644
index 00000000..6f3c6aa5
--- /dev/null
+++ b/_badges/avrada_lib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "avrada_lib"
+version: "2.1.0"
+---
diff --git a/_badges/avrada_mcu.json b/_badges/avrada_mcu.json
new file mode 100644
index 00000000..552c045b
--- /dev/null
+++ b/_badges/avrada_mcu.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "avrada_mcu"
+version: "2.2.0"
+---
diff --git a/_badges/avrada_rts.json b/_badges/avrada_rts.json
new file mode 100644
index 00000000..34d31a02
--- /dev/null
+++ b/_badges/avrada_rts.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "avrada_rts"
+version: "2.0.1"
+---
diff --git a/_badges/awa.json b/_badges/awa.json
new file mode 100644
index 00000000..737ba052
--- /dev/null
+++ b/_badges/awa.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "awa"
+version: "2.4.0"
+---
diff --git a/_badges/awa_unit.json b/_badges/awa_unit.json
new file mode 100644
index 00000000..71175db7
--- /dev/null
+++ b/_badges/awa_unit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "awa_unit"
+version: "2.4.0"
+---
diff --git a/_badges/aws.json b/_badges/aws.json
new file mode 100644
index 00000000..7ef1d87d
--- /dev/null
+++ b/_badges/aws.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aws"
+version: "23.0.0"
+---
diff --git a/_badges/axmpp.json b/_badges/axmpp.json
new file mode 100644
index 00000000..2c7933d0
--- /dev/null
+++ b/_badges/axmpp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "axmpp"
+version: "1.0.0"
+---
diff --git a/_badges/ayacc.json b/_badges/ayacc.json
new file mode 100644
index 00000000..c9377cb6
--- /dev/null
+++ b/_badges/ayacc.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ayacc"
+version: "1.4.0"
+---
diff --git a/_badges/b2ssum.json b/_badges/b2ssum.json
new file mode 100644
index 00000000..5b1a28c6
--- /dev/null
+++ b/_badges/b2ssum.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "b2ssum"
+version: "0.1.3"
+---
diff --git a/_badges/bar_codes.json b/_badges/bar_codes.json
new file mode 100644
index 00000000..886647cf
--- /dev/null
+++ b/_badges/bar_codes.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bar_codes"
+version: "2.0.0"
+---
diff --git a/_badges/basalt.json b/_badges/basalt.json
new file mode 100644
index 00000000..8a32d5fd
--- /dev/null
+++ b/_badges/basalt.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "basalt"
+version: "0.3.0"
+---
diff --git a/_badges/base64.json b/_badges/base64.json
new file mode 100644
index 00000000..38a93825
--- /dev/null
+++ b/_badges/base64.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "base64"
+version: "1.0.1"
+---
diff --git a/_badges/bb_pico_bsp.json b/_badges/bb_pico_bsp.json
new file mode 100644
index 00000000..a30b157d
--- /dev/null
+++ b/_badges/bb_pico_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bb_pico_bsp"
+version: "0.1.0"
+---
diff --git a/_badges/bbqueue.json b/_badges/bbqueue.json
new file mode 100644
index 00000000..9600d51f
--- /dev/null
+++ b/_badges/bbqueue.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bbqueue"
+version: "0.3.1"
+---
diff --git a/_badges/bingada.json b/_badges/bingada.json
new file mode 100644
index 00000000..8d7e2f18
--- /dev/null
+++ b/_badges/bingada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bingada"
+version: "1.0.0"
+---
diff --git a/_badges/blake2s.json b/_badges/blake2s.json
new file mode 100644
index 00000000..18002109
--- /dev/null
+++ b/_badges/blake2s.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "blake2s"
+version: "0.1.3"
+---
diff --git a/_badges/brackelib.json b/_badges/brackelib.json
new file mode 100644
index 00000000..624c068e
--- /dev/null
+++ b/_badges/brackelib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "brackelib"
+version: "0.0.2"
+---
diff --git a/_badges/c_strings.json b/_badges/c_strings.json
new file mode 100644
index 00000000..0a790f6f
--- /dev/null
+++ b/_badges/c_strings.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "c_strings"
+version: "1.0.0"
+---
diff --git a/_badges/canberra_ada.json b/_badges/canberra_ada.json
new file mode 100644
index 00000000..cac50145
--- /dev/null
+++ b/_badges/canberra_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "canberra_ada"
+version: "2.0.2"
+---
diff --git a/_badges/cashe.json b/_badges/cashe.json
new file mode 100644
index 00000000..f43afddb
--- /dev/null
+++ b/_badges/cashe.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "cashe"
+version: "1.0.0"
+---
diff --git a/_badges/cbsg.json b/_badges/cbsg.json
new file mode 100644
index 00000000..a4c803cc
--- /dev/null
+++ b/_badges/cbsg.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "cbsg"
+version: "0.0.1"
+---
diff --git a/_badges/chacha20.json b/_badges/chacha20.json
new file mode 100644
index 00000000..13dcc2b6
--- /dev/null
+++ b/_badges/chacha20.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "chacha20"
+version: "0.1.0"
+---
diff --git a/_badges/chests.json b/_badges/chests.json
new file mode 100644
index 00000000..20abd8d3
--- /dev/null
+++ b/_badges/chests.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "chests"
+version: "0.1.1"
+---
diff --git a/_badges/clic.json b/_badges/clic.json
new file mode 100644
index 00000000..e1e847b9
--- /dev/null
+++ b/_badges/clic.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "clic"
+version: "0.2.1"
+---
diff --git a/_badges/cmd_ada.json b/_badges/cmd_ada.json
new file mode 100644
index 00000000..c588ddef
--- /dev/null
+++ b/_badges/cmd_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "cmd_ada"
+version: "0.0.1"
+---
diff --git a/_badges/cobs.json b/_badges/cobs.json
new file mode 100644
index 00000000..d0dda808
--- /dev/null
+++ b/_badges/cobs.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "cobs"
+version: "1.1.0"
+---
diff --git a/_badges/cortex_m.json b/_badges/cortex_m.json
new file mode 100644
index 00000000..7e5ae582
--- /dev/null
+++ b/_badges/cortex_m.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "cortex_m"
+version: "0.5.0"
+---
diff --git a/_badges/curl.json b/_badges/curl.json
new file mode 100644
index 00000000..2e7ad054
--- /dev/null
+++ b/_badges/curl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "curl"
+version:
+---
diff --git a/_badges/dashera.json b/_badges/dashera.json
new file mode 100644
index 00000000..9ad66d86
--- /dev/null
+++ b/_badges/dashera.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dashera"
+version: "0.14.0"
+---
diff --git a/_badges/dcf.json b/_badges/dcf.json
new file mode 100644
index 00000000..28bfc627
--- /dev/null
+++ b/_badges/dcf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dcf"
+version: "2.0.3"
+---
diff --git a/_badges/dependency_graph_extractor.json b/_badges/dependency_graph_extractor.json
new file mode 100644
index 00000000..952efb80
--- /dev/null
+++ b/_badges/dependency_graph_extractor.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dependency_graph_extractor"
+version: "22.0.0"
+---
diff --git a/_badges/dg_loada.json b/_badges/dg_loada.json
new file mode 100644
index 00000000..fb611ebd
--- /dev/null
+++ b/_badges/dg_loada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dg_loada"
+version: "1.4.3"
+---
diff --git a/_badges/dir_iterators.json b/_badges/dir_iterators.json
new file mode 100644
index 00000000..de13c07d
--- /dev/null
+++ b/_badges/dir_iterators.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dir_iterators"
+version: "0.0.4"
+---
diff --git a/_badges/dotenv.json b/_badges/dotenv.json
new file mode 100644
index 00000000..7153b268
--- /dev/null
+++ b/_badges/dotenv.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dotenv"
+version: "1.0.0"
+---
diff --git a/_badges/dummyserver.json b/_badges/dummyserver.json
new file mode 100644
index 00000000..7ed3d0a2
--- /dev/null
+++ b/_badges/dummyserver.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dummyserver"
+version: "1.0.0"
+---
diff --git a/_badges/dynamo.json b/_badges/dynamo.json
new file mode 100644
index 00000000..000b1106
--- /dev/null
+++ b/_badges/dynamo.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dynamo"
+version: "1.4.0"
+---
diff --git a/_badges/eagle_lander.json b/_badges/eagle_lander.json
new file mode 100644
index 00000000..feb0bf94
--- /dev/null
+++ b/_badges/eagle_lander.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "eagle_lander"
+version: "1.2.0"
+---
diff --git a/_badges/edc_client.json b/_badges/edc_client.json
new file mode 100644
index 00000000..c1dd0d62
--- /dev/null
+++ b/_badges/edc_client.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "edc_client"
+version: "1.5.1"
+---
diff --git a/_badges/eeprom_i2c.json b/_badges/eeprom_i2c.json
new file mode 100644
index 00000000..a9a41fe3
--- /dev/null
+++ b/_badges/eeprom_i2c.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "eeprom_i2c"
+version: "6.0.0"
+---
diff --git a/_badges/elada.json b/_badges/elada.json
new file mode 100644
index 00000000..b8d8502c
--- /dev/null
+++ b/_badges/elada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "elada"
+version: "1.8.6"
+---
diff --git a/_badges/elevator.json b/_badges/elevator.json
new file mode 100644
index 00000000..825fbf61
--- /dev/null
+++ b/_badges/elevator.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "elevator"
+version: "1.0.0"
+---
diff --git a/_badges/emacs_ada_mode.json b/_badges/emacs_ada_mode.json
new file mode 100644
index 00000000..32a9841e
--- /dev/null
+++ b/_badges/emacs_ada_mode.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emacs_ada_mode"
+version: "8.0.5"
+---
diff --git a/_badges/emacs_gpr_mode.json b/_badges/emacs_gpr_mode.json
new file mode 100644
index 00000000..d9ec852a
--- /dev/null
+++ b/_badges/emacs_gpr_mode.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emacs_gpr_mode"
+version: "1.0.3"
+---
diff --git a/_badges/emacs_gpr_query.json b/_badges/emacs_gpr_query.json
new file mode 100644
index 00000000..a3535eda
--- /dev/null
+++ b/_badges/emacs_gpr_query.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emacs_gpr_query"
+version: "1.0.1"
+---
diff --git a/_badges/emacs_wisi.json b/_badges/emacs_wisi.json
new file mode 100644
index 00000000..d2ab1d17
--- /dev/null
+++ b/_badges/emacs_wisi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emacs_wisi"
+version: "4.2.0"
+---
diff --git a/_badges/emacs_wisitoken_grammar_mode.json b/_badges/emacs_wisitoken_grammar_mode.json
new file mode 100644
index 00000000..2db00df8
--- /dev/null
+++ b/_badges/emacs_wisitoken_grammar_mode.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emacs_wisitoken_grammar_mode"
+version: "1.3.0"
+---
diff --git a/_badges/embedded_components.json b/_badges/embedded_components.json
new file mode 100644
index 00000000..8d473a24
--- /dev/null
+++ b/_badges/embedded_components.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "embedded_components"
+version: "0.2.0"
+---
diff --git a/_badges/emojis.json b/_badges/emojis.json
new file mode 100644
index 00000000..0f703389
--- /dev/null
+++ b/_badges/emojis.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emojis"
+version: "1.0.1"
+---
diff --git a/_badges/endianness.json b/_badges/endianness.json
new file mode 100644
index 00000000..0bd81c53
--- /dev/null
+++ b/_badges/endianness.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "endianness"
+version: "1.0.0"
+---
diff --git a/_badges/epoll.json b/_badges/epoll.json
new file mode 100644
index 00000000..70d304f8
--- /dev/null
+++ b/_badges/epoll.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "epoll"
+version: "0.1.1"
+---
diff --git a/_badges/esp_idf.json b/_badges/esp_idf.json
new file mode 100644
index 00000000..62ec49a2
--- /dev/null
+++ b/_badges/esp_idf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "esp_idf"
+version: "5.0.2-1"
+---
diff --git a/_badges/euler_tools.json b/_badges/euler_tools.json
new file mode 100644
index 00000000..59c7eb91
--- /dev/null
+++ b/_badges/euler_tools.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "euler_tools"
+version: "1.2.1"
+---
diff --git a/_badges/evdev.json b/_badges/evdev.json
new file mode 100644
index 00000000..6db74200
--- /dev/null
+++ b/_badges/evdev.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "evdev"
+version: "2.0.2"
+---
diff --git a/_badges/ews.json b/_badges/ews.json
new file mode 100644
index 00000000..88af324e
--- /dev/null
+++ b/_badges/ews.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ews"
+version: "1.11.0"
+---
diff --git a/_badges/excel_writer.json b/_badges/excel_writer.json
new file mode 100644
index 00000000..79d93b21
--- /dev/null
+++ b/_badges/excel_writer.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "excel_writer"
+version: "18.0.0"
+---
diff --git a/_badges/fastpbkdf2_ada.json b/_badges/fastpbkdf2_ada.json
new file mode 100644
index 00000000..d0d751d1
--- /dev/null
+++ b/_badges/fastpbkdf2_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "fastpbkdf2_ada"
+version: "2.0.0"
+---
diff --git a/_badges/felix.json b/_badges/felix.json
new file mode 100644
index 00000000..d596a4dc
--- /dev/null
+++ b/_badges/felix.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "felix"
+version: "0.2.0"
+---
diff --git a/_badges/florist.json b/_badges/florist.json
new file mode 100644
index 00000000..72a1eeb0
--- /dev/null
+++ b/_badges/florist.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "florist"
+version: "6.0.0"
+---
diff --git a/_badges/florist_blady.json b/_badges/florist_blady.json
new file mode 100644
index 00000000..146721c5
--- /dev/null
+++ b/_badges/florist_blady.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "florist_blady"
+version: "6.0.0"
+---
diff --git a/_badges/freetypeada.json b/_badges/freetypeada.json
new file mode 100644
index 00000000..a65ad3f1
--- /dev/null
+++ b/_badges/freetypeada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "freetypeada"
+version: "0.1.0"
+---
diff --git a/_badges/garlic.json b/_badges/garlic.json
new file mode 100644
index 00000000..24c7e171
--- /dev/null
+++ b/_badges/garlic.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "garlic"
+version: "6.0.1"
+---
diff --git a/_badges/geo_coords.json b/_badges/geo_coords.json
new file mode 100644
index 00000000..e02d7dc4
--- /dev/null
+++ b/_badges/geo_coords.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "geo_coords"
+version: "1.0.0"
+---
diff --git a/_badges/geste.json b/_badges/geste.json
new file mode 100644
index 00000000..27ce1924
--- /dev/null
+++ b/_badges/geste.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "geste"
+version: "1.1.0"
+---
diff --git a/_badges/geste_examples.json b/_badges/geste_examples.json
new file mode 100644
index 00000000..987eddc6
--- /dev/null
+++ b/_badges/geste_examples.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "geste_examples"
+version: "1.0.1"
+---
diff --git a/_badges/get_password.json b/_badges/get_password.json
new file mode 100644
index 00000000..e7ab8065
--- /dev/null
+++ b/_badges/get_password.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "get_password"
+version: "1.0.0-rc"
+---
diff --git a/_badges/getopt.json b/_badges/getopt.json
new file mode 100644
index 00000000..b47be5e2
--- /dev/null
+++ b/_badges/getopt.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "getopt"
+version: "2.0.0"
+---
diff --git a/_badges/gid.json b/_badges/gid.json
new file mode 100644
index 00000000..16a960a9
--- /dev/null
+++ b/_badges/gid.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gid"
+version: "10.0.0"
+---
diff --git a/_badges/glut.json b/_badges/glut.json
new file mode 100644
index 00000000..dd7881c3
--- /dev/null
+++ b/_badges/glut.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "glut"
+version:
+---
diff --git a/_badges/gnat_arm_elf.json b/_badges/gnat_arm_elf.json
new file mode 100644
index 00000000..82d5dbe7
--- /dev/null
+++ b/_badges/gnat_arm_elf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_arm_elf"
+version: "13.1.0"
+---
diff --git a/_badges/gnat_avr_elf.json b/_badges/gnat_avr_elf.json
new file mode 100644
index 00000000..3a1152fd
--- /dev/null
+++ b/_badges/gnat_avr_elf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_avr_elf"
+version: "13.1.0"
+---
diff --git a/_badges/gnat_external.json b/_badges/gnat_external.json
new file mode 100644
index 00000000..920d279f
--- /dev/null
+++ b/_badges/gnat_external.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_external"
+version:
+---
diff --git a/_badges/gnat_math_extensions.json b/_badges/gnat_math_extensions.json
new file mode 100644
index 00000000..682c4129
--- /dev/null
+++ b/_badges/gnat_math_extensions.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_math_extensions"
+version: "1.1.0"
+---
diff --git a/_badges/gnat_native.json b/_badges/gnat_native.json
new file mode 100644
index 00000000..52d74c56
--- /dev/null
+++ b/_badges/gnat_native.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_native"
+version: "13.1.0"
+---
diff --git a/_badges/gnat_riscv64_elf.json b/_badges/gnat_riscv64_elf.json
new file mode 100644
index 00000000..11436710
--- /dev/null
+++ b/_badges/gnat_riscv64_elf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_riscv64_elf"
+version: "13.1.0"
+---
diff --git a/_badges/gnatcoll.json b/_badges/gnatcoll.json
new file mode 100644
index 00000000..b4d4f7ce
--- /dev/null
+++ b/_badges/gnatcoll.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_gmp.json b/_badges/gnatcoll_gmp.json
new file mode 100644
index 00000000..05f994cf
--- /dev/null
+++ b/_badges/gnatcoll_gmp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_gmp"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_iconv.json b/_badges/gnatcoll_iconv.json
new file mode 100644
index 00000000..512ea786
--- /dev/null
+++ b/_badges/gnatcoll_iconv.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_iconv"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_lzma.json b/_badges/gnatcoll_lzma.json
new file mode 100644
index 00000000..1c81c287
--- /dev/null
+++ b/_badges/gnatcoll_lzma.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_lzma"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_omp.json b/_badges/gnatcoll_omp.json
new file mode 100644
index 00000000..2951cad3
--- /dev/null
+++ b/_badges/gnatcoll_omp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_omp"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_postgres.json b/_badges/gnatcoll_postgres.json
new file mode 100644
index 00000000..86f06e1f
--- /dev/null
+++ b/_badges/gnatcoll_postgres.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_postgres"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_python.json b/_badges/gnatcoll_python.json
new file mode 100644
index 00000000..e0813a7c
--- /dev/null
+++ b/_badges/gnatcoll_python.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_python"
+version: "21.0.0"
+---
diff --git a/_badges/gnatcoll_python3.json b/_badges/gnatcoll_python3.json
new file mode 100644
index 00000000..cb3d8f42
--- /dev/null
+++ b/_badges/gnatcoll_python3.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_python3"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_readline.json b/_badges/gnatcoll_readline.json
new file mode 100644
index 00000000..7c7b8e31
--- /dev/null
+++ b/_badges/gnatcoll_readline.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_readline"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_sql.json b/_badges/gnatcoll_sql.json
new file mode 100644
index 00000000..a2ac8e73
--- /dev/null
+++ b/_badges/gnatcoll_sql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_sql"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_sqlite.json b/_badges/gnatcoll_sqlite.json
new file mode 100644
index 00000000..1cb89a14
--- /dev/null
+++ b/_badges/gnatcoll_sqlite.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_sqlite"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_syslog.json b/_badges/gnatcoll_syslog.json
new file mode 100644
index 00000000..141e98fb
--- /dev/null
+++ b/_badges/gnatcoll_syslog.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_syslog"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_xref.json b/_badges/gnatcoll_xref.json
new file mode 100644
index 00000000..5916cd33
--- /dev/null
+++ b/_badges/gnatcoll_xref.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_xref"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcoll_zlib.json b/_badges/gnatcoll_zlib.json
new file mode 100644
index 00000000..8e02955d
--- /dev/null
+++ b/_badges/gnatcoll_zlib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_zlib"
+version: "23.0.0"
+---
diff --git a/_badges/gnatcov.json b/_badges/gnatcov.json
new file mode 100644
index 00000000..d3ceb46c
--- /dev/null
+++ b/_badges/gnatcov.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcov"
+version: "22.0.1"
+---
diff --git a/_badges/gnatdist_garlic.json b/_badges/gnatdist_garlic.json
new file mode 100644
index 00000000..3ef6a132
--- /dev/null
+++ b/_badges/gnatdist_garlic.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatdist_garlic"
+version: "6.0.1"
+---
diff --git a/_badges/gnatdoc.json b/_badges/gnatdoc.json
new file mode 100644
index 00000000..7006bf08
--- /dev/null
+++ b/_badges/gnatdoc.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatdoc"
+version: "23.0.0"
+---
diff --git a/_badges/gnatprove.json b/_badges/gnatprove.json
new file mode 100644
index 00000000..4114371d
--- /dev/null
+++ b/_badges/gnatprove.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatprove"
+version: "12.1.1"
+---
diff --git a/_badges/gnoga.json b/_badges/gnoga.json
new file mode 100644
index 00000000..786fc3bd
--- /dev/null
+++ b/_badges/gnoga.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnoga"
+version: "2.1.2"
+---
diff --git a/_badges/gpr_unit_provider.json b/_badges/gpr_unit_provider.json
new file mode 100644
index 00000000..b82873a2
--- /dev/null
+++ b/_badges/gpr_unit_provider.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gpr_unit_provider"
+version: "23.0.0"
+---
diff --git a/_badges/gprbuild.json b/_badges/gprbuild.json
new file mode 100644
index 00000000..70fae8fb
--- /dev/null
+++ b/_badges/gprbuild.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gprbuild"
+version: "22.0.1"
+---
diff --git a/_badges/gtkada.json b/_badges/gtkada.json
new file mode 100644
index 00000000..8f32b78b
--- /dev/null
+++ b/_badges/gtkada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gtkada"
+version: "23.0.0"
+---
diff --git a/_badges/gwindows.json b/_badges/gwindows.json
new file mode 100644
index 00000000..150ce2d1
--- /dev/null
+++ b/_badges/gwindows.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gwindows"
+version:
+---
diff --git a/_badges/hac.json b/_badges/hac.json
new file mode 100644
index 00000000..65ce6ef4
--- /dev/null
+++ b/_badges/hac.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hac"
+version: "0.26.0"
+---
diff --git a/_badges/hal.json b/_badges/hal.json
new file mode 100644
index 00000000..51b15ea9
--- /dev/null
+++ b/_badges/hal.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hal"
+version: "0.3.0"
+---
diff --git a/_badges/hangman.json b/_badges/hangman.json
new file mode 100644
index 00000000..4c3bca53
--- /dev/null
+++ b/_badges/hangman.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hangman"
+version: "1.0.0"
+---
diff --git a/_badges/hello.json b/_badges/hello.json
new file mode 100644
index 00000000..8a74f279
--- /dev/null
+++ b/_badges/hello.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hello"
+version: "1.0.2"
+---
diff --git a/_badges/hmac.json b/_badges/hmac.json
new file mode 100644
index 00000000..bd679f0a
--- /dev/null
+++ b/_badges/hmac.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hmac"
+version: "2.0.0"
+---
diff --git a/_badges/honki_tonks_zivilisationen.json b/_badges/honki_tonks_zivilisationen.json
new file mode 100644
index 00000000..f03a295d
--- /dev/null
+++ b/_badges/honki_tonks_zivilisationen.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "honki_tonks_zivilisationen"
+version: "0.5.1590-dev"
+---
diff --git a/_badges/hungarian.json b/_badges/hungarian.json
new file mode 100644
index 00000000..1f13beff
--- /dev/null
+++ b/_badges/hungarian.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hungarian"
+version: "1.0.0"
+---
diff --git a/_badges/ini_files.json b/_badges/ini_files.json
new file mode 100644
index 00000000..8c7280b8
--- /dev/null
+++ b/_badges/ini_files.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ini_files"
+version: "10.0.0"
+---
diff --git a/_badges/inotify.json b/_badges/inotify.json
new file mode 100644
index 00000000..c7c5b260
--- /dev/null
+++ b/_badges/inotify.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "inotify"
+version: "2.0.1"
+---
diff --git a/_badges/iso.json b/_badges/iso.json
new file mode 100644
index 00000000..a4766c8f
--- /dev/null
+++ b/_badges/iso.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "iso"
+version: "2.0.0"
+---
diff --git a/_badges/iterators.json b/_badges/iterators.json
new file mode 100644
index 00000000..d97d8c19
--- /dev/null
+++ b/_badges/iterators.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "iterators"
+version: "0.2.0"
+---
diff --git a/_badges/itsybitsy_bsp.json b/_badges/itsybitsy_bsp.json
new file mode 100644
index 00000000..a7ed7fe2
--- /dev/null
+++ b/_badges/itsybitsy_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "itsybitsy_bsp"
+version: "0.0.4"
+---
diff --git a/_badges/itsybitsy_rp2040_bsp.json b/_badges/itsybitsy_rp2040_bsp.json
new file mode 100644
index 00000000..247cb772
--- /dev/null
+++ b/_badges/itsybitsy_rp2040_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "itsybitsy_rp2040_bsp"
+version: "0.2.0"
+---
diff --git a/_badges/j2ada.json b/_badges/j2ada.json
new file mode 100644
index 00000000..c05f54bd
--- /dev/null
+++ b/_badges/j2ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "j2ada"
+version: "1.4.2"
+---
diff --git a/_badges/json.json b/_badges/json.json
new file mode 100644
index 00000000..8050b16d
--- /dev/null
+++ b/_badges/json.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "json"
+version: "5.0.3"
+---
diff --git a/_badges/jupyter_kernel.json b/_badges/jupyter_kernel.json
new file mode 100644
index 00000000..7e767aff
--- /dev/null
+++ b/_badges/jupyter_kernel.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "jupyter_kernel"
+version: "1.0.0"
+---
diff --git a/_badges/jwt.json b/_badges/jwt.json
new file mode 100644
index 00000000..e7d1305a
--- /dev/null
+++ b/_badges/jwt.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "jwt"
+version: "1.0.0"
+---
diff --git a/_badges/keypadder.json b/_badges/keypadder.json
new file mode 100644
index 00000000..a2486b18
--- /dev/null
+++ b/_badges/keypadder.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "keypadder"
+version: "0.3.0"
+---
diff --git a/_badges/keystoreada.json b/_badges/keystoreada.json
new file mode 100644
index 00000000..ea802da0
--- /dev/null
+++ b/_badges/keystoreada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "keystoreada"
+version: "1.4.0"
+---
diff --git a/_badges/labs_radar.json b/_badges/labs_radar.json
new file mode 100644
index 00000000..77acbe0e
--- /dev/null
+++ b/_badges/labs_radar.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "labs_radar"
+version: "0.2.0"
+---
diff --git a/_badges/labs_solar_system.json b/_badges/labs_solar_system.json
new file mode 100644
index 00000000..3f940280
--- /dev/null
+++ b/_badges/labs_solar_system.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "labs_solar_system"
+version: "0.9.1"
+---
diff --git a/_badges/labs_standalone.json b/_badges/labs_standalone.json
new file mode 100644
index 00000000..8ea471b9
--- /dev/null
+++ b/_badges/labs_standalone.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "labs_standalone"
+version: "0.1.0"
+---
diff --git a/_badges/lace.json b/_badges/lace.json
new file mode 100644
index 00000000..18ac3d1b
--- /dev/null
+++ b/_badges/lace.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace"
+version: "0.1.0"
+---
diff --git a/_badges/lace_box2d.json b/_badges/lace_box2d.json
new file mode 100644
index 00000000..48600380
--- /dev/null
+++ b/_badges/lace_box2d.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_box2d"
+version: "0.1.0"
+---
diff --git a/_badges/lace_bullet.json b/_badges/lace_bullet.json
new file mode 100644
index 00000000..c12f1389
--- /dev/null
+++ b/_badges/lace_bullet.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_bullet"
+version: "0.1.0"
+---
diff --git a/_badges/lace_c_math.json b/_badges/lace_c_math.json
new file mode 100644
index 00000000..059a29c5
--- /dev/null
+++ b/_badges/lace_c_math.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_c_math"
+version: "0.1.0"
+---
diff --git a/_badges/lace_collada.json b/_badges/lace_collada.json
new file mode 100644
index 00000000..7c4cd835
--- /dev/null
+++ b/_badges/lace_collada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_collada"
+version: "0.1.0"
+---
diff --git a/_badges/lace_gel.json b/_badges/lace_gel.json
new file mode 100644
index 00000000..56f9dcea
--- /dev/null
+++ b/_badges/lace_gel.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_gel"
+version: "0.1.0"
+---
diff --git a/_badges/lace_gel_animation_demo.json b/_badges/lace_gel_animation_demo.json
new file mode 100644
index 00000000..8a431792
--- /dev/null
+++ b/_badges/lace_gel_animation_demo.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_gel_animation_demo"
+version: "0.1.0"
+---
diff --git a/_badges/lace_gel_full_demo.json b/_badges/lace_gel_full_demo.json
new file mode 100644
index 00000000..89bd6655
--- /dev/null
+++ b/_badges/lace_gel_full_demo.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_gel_full_demo"
+version: "0.1.0"
+---
diff --git a/_badges/lace_math.json b/_badges/lace_math.json
new file mode 100644
index 00000000..50b536f3
--- /dev/null
+++ b/_badges/lace_math.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_math"
+version: "0.1.0"
+---
diff --git a/_badges/lace_opengl.json b/_badges/lace_opengl.json
new file mode 100644
index 00000000..a4d9ebdb
--- /dev/null
+++ b/_badges/lace_opengl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_opengl"
+version: "0.1.0"
+---
diff --git a/_badges/lace_physics.json b/_badges/lace_physics.json
new file mode 100644
index 00000000..7cea0cbc
--- /dev/null
+++ b/_badges/lace_physics.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_physics"
+version: "0.1.0"
+---
diff --git a/_badges/lace_shared.json b/_badges/lace_shared.json
new file mode 100644
index 00000000..2414400e
--- /dev/null
+++ b/_badges/lace_shared.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_shared"
+version: "0.1.0"
+---
diff --git a/_badges/lace_swig.json b/_badges/lace_swig.json
new file mode 100644
index 00000000..62e65528
--- /dev/null
+++ b/_badges/lace_swig.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_swig"
+version: "0.1.0"
+---
diff --git a/_badges/lace_xml.json b/_badges/lace_xml.json
new file mode 100644
index 00000000..c8e31cc9
--- /dev/null
+++ b/_badges/lace_xml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lace_xml"
+version: "0.1.0"
+---
diff --git a/_badges/lal_highlight.json b/_badges/lal_highlight.json
new file mode 100644
index 00000000..6a7fc48c
--- /dev/null
+++ b/_badges/lal_highlight.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lal_highlight"
+version: "21.0.0"
+---
diff --git a/_badges/langkit_support.json b/_badges/langkit_support.json
new file mode 100644
index 00000000..1580c2e4
--- /dev/null
+++ b/_badges/langkit_support.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "langkit_support"
+version: "23.0.0"
+---
diff --git a/_badges/lea.json b/_badges/lea.json
new file mode 100644
index 00000000..77dc983f
--- /dev/null
+++ b/_badges/lea.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lea"
+version:
+---
diff --git a/_badges/libadalang.json b/_badges/libadalang.json
new file mode 100644
index 00000000..dfe578ec
--- /dev/null
+++ b/_badges/libadalang.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libadalang"
+version: "23.0.0"
+---
diff --git a/_badges/libadalang2xml.json b/_badges/libadalang2xml.json
new file mode 100644
index 00000000..8a04e2a8
--- /dev/null
+++ b/_badges/libadalang2xml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libadalang2xml"
+version: "1.0.0"
+---
diff --git a/_badges/libadalang_tools.json b/_badges/libadalang_tools.json
new file mode 100644
index 00000000..c6734128
--- /dev/null
+++ b/_badges/libadalang_tools.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libadalang_tools"
+version: "23.0.0"
+---
diff --git a/_badges/libblas.json b/_badges/libblas.json
new file mode 100644
index 00000000..07b7c3d7
--- /dev/null
+++ b/_badges/libblas.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libblas"
+version:
+---
diff --git a/_badges/libbullet.json b/_badges/libbullet.json
new file mode 100644
index 00000000..5349595f
--- /dev/null
+++ b/_badges/libbullet.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libbullet"
+version:
+---
diff --git a/_badges/libcanberra.json b/_badges/libcanberra.json
new file mode 100644
index 00000000..5d89ec25
--- /dev/null
+++ b/_badges/libcanberra.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libcanberra"
+version:
+---
diff --git a/_badges/libclntsh.json b/_badges/libclntsh.json
new file mode 100644
index 00000000..c36fdaeb
--- /dev/null
+++ b/_badges/libclntsh.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libclntsh"
+version:
+---
diff --git a/_badges/libcsfml.json b/_badges/libcsfml.json
new file mode 100644
index 00000000..c1aedb5f
--- /dev/null
+++ b/_badges/libcsfml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libcsfml"
+version:
+---
diff --git a/_badges/libcurl.json b/_badges/libcurl.json
new file mode 100644
index 00000000..51a01252
--- /dev/null
+++ b/_badges/libcurl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libcurl"
+version:
+---
diff --git a/_badges/libegl.json b/_badges/libegl.json
new file mode 100644
index 00000000..ea80d363
--- /dev/null
+++ b/_badges/libegl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libegl"
+version:
+---
diff --git a/_badges/libexpat.json b/_badges/libexpat.json
new file mode 100644
index 00000000..21beee74
--- /dev/null
+++ b/_badges/libexpat.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libexpat"
+version:
+---
diff --git a/_badges/libfbclient.json b/_badges/libfbclient.json
new file mode 100644
index 00000000..57e28a70
--- /dev/null
+++ b/_badges/libfbclient.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libfbclient"
+version:
+---
diff --git a/_badges/libfreetype.json b/_badges/libfreetype.json
new file mode 100644
index 00000000..e4397d3b
--- /dev/null
+++ b/_badges/libfreetype.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libfreetype"
+version:
+---
diff --git a/_badges/libftdi1.json b/_badges/libftdi1.json
new file mode 100644
index 00000000..ae47afc3
--- /dev/null
+++ b/_badges/libftdi1.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libftdi1"
+version:
+---
diff --git a/_badges/libfuse.json b/_badges/libfuse.json
new file mode 100644
index 00000000..ae24dd40
--- /dev/null
+++ b/_badges/libfuse.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libfuse"
+version:
+---
diff --git a/_badges/libglfw3.json b/_badges/libglfw3.json
new file mode 100644
index 00000000..26310bdb
--- /dev/null
+++ b/_badges/libglfw3.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libglfw3"
+version:
+---
diff --git a/_badges/libgmp.json b/_badges/libgmp.json
new file mode 100644
index 00000000..615ed262
--- /dev/null
+++ b/_badges/libgmp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgmp"
+version:
+---
diff --git a/_badges/libgnatdoc.json b/_badges/libgnatdoc.json
new file mode 100644
index 00000000..3dadc376
--- /dev/null
+++ b/_badges/libgnatdoc.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgnatdoc"
+version: "23.0.0"
+---
diff --git a/_badges/libgnutls.json b/_badges/libgnutls.json
new file mode 100644
index 00000000..7c1a5b38
--- /dev/null
+++ b/_badges/libgnutls.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgnutls"
+version:
+---
diff --git a/_badges/libgomp.json b/_badges/libgomp.json
new file mode 100644
index 00000000..fccbd18d
--- /dev/null
+++ b/_badges/libgomp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgomp"
+version:
+---
diff --git a/_badges/libgpiod.json b/_badges/libgpiod.json
new file mode 100644
index 00000000..8cc26fda
--- /dev/null
+++ b/_badges/libgpiod.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgpiod"
+version:
+---
diff --git a/_badges/libgpr.json b/_badges/libgpr.json
new file mode 100644
index 00000000..5351ad53
--- /dev/null
+++ b/_badges/libgpr.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgpr"
+version: "23.0.0"
+---
diff --git a/_badges/libgpr2.json b/_badges/libgpr2.json
new file mode 100644
index 00000000..94c1bba3
--- /dev/null
+++ b/_badges/libgpr2.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgpr2"
+version: "23.0.0"
+---
diff --git a/_badges/libgraph_easy_perl.json b/_badges/libgraph_easy_perl.json
new file mode 100644
index 00000000..02408cbd
--- /dev/null
+++ b/_badges/libgraph_easy_perl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgraph_easy_perl"
+version:
+---
diff --git a/_badges/libgsl.json b/_badges/libgsl.json
new file mode 100644
index 00000000..422bd151
--- /dev/null
+++ b/_badges/libgsl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgsl"
+version:
+---
diff --git a/_badges/libgtk3.json b/_badges/libgtk3.json
new file mode 100644
index 00000000..4f8f0ab3
--- /dev/null
+++ b/_badges/libgtk3.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgtk3"
+version:
+---
diff --git a/_badges/libhello.json b/_badges/libhello.json
new file mode 100644
index 00000000..20cffae5
--- /dev/null
+++ b/_badges/libhello.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libhello"
+version: "1.0.1"
+---
diff --git a/_badges/libhidapi.json b/_badges/libhidapi.json
new file mode 100644
index 00000000..f100bcc5
--- /dev/null
+++ b/_badges/libhidapi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libhidapi"
+version:
+---
diff --git a/_badges/libi2c.json b/_badges/libi2c.json
new file mode 100644
index 00000000..55413e1e
--- /dev/null
+++ b/_badges/libi2c.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libi2c"
+version:
+---
diff --git a/_badges/libiconv.json b/_badges/libiconv.json
new file mode 100644
index 00000000..fc4aaaeb
--- /dev/null
+++ b/_badges/libiconv.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libiconv"
+version:
+---
diff --git a/_badges/libkeccak.json b/_badges/libkeccak.json
new file mode 100644
index 00000000..974e9d93
--- /dev/null
+++ b/_badges/libkeccak.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libkeccak"
+version: "3.0.0"
+---
diff --git a/_badges/liblapack.json b/_badges/liblapack.json
new file mode 100644
index 00000000..3f0b3716
--- /dev/null
+++ b/_badges/liblapack.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "liblapack"
+version:
+---
diff --git a/_badges/liblua.json b/_badges/liblua.json
new file mode 100644
index 00000000..0c48ee03
--- /dev/null
+++ b/_badges/liblua.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "liblua"
+version:
+---
diff --git a/_badges/liblzma.json b/_badges/liblzma.json
new file mode 100644
index 00000000..c557d6d0
--- /dev/null
+++ b/_badges/liblzma.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "liblzma"
+version:
+---
diff --git a/_badges/libmariadb.json b/_badges/libmariadb.json
new file mode 100644
index 00000000..f93267b4
--- /dev/null
+++ b/_badges/libmariadb.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libmariadb"
+version:
+---
diff --git a/_badges/libmesa.json b/_badges/libmesa.json
new file mode 100644
index 00000000..32e17404
--- /dev/null
+++ b/_badges/libmesa.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libmesa"
+version:
+---
diff --git a/_badges/libmpfr.json b/_badges/libmpfr.json
new file mode 100644
index 00000000..2e965b78
--- /dev/null
+++ b/_badges/libmpfr.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libmpfr"
+version:
+---
diff --git a/_badges/libmysqlclient.json b/_badges/libmysqlclient.json
new file mode 100644
index 00000000..9534ee9a
--- /dev/null
+++ b/_badges/libmysqlclient.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libmysqlclient"
+version:
+---
diff --git a/_badges/libopus.json b/_badges/libopus.json
new file mode 100644
index 00000000..01188f8a
--- /dev/null
+++ b/_badges/libopus.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libopus"
+version:
+---
diff --git a/_badges/libpq.json b/_badges/libpq.json
new file mode 100644
index 00000000..3debbdd1
--- /dev/null
+++ b/_badges/libpq.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libpq"
+version:
+---
diff --git a/_badges/libpulse.json b/_badges/libpulse.json
new file mode 100644
index 00000000..a4c020eb
--- /dev/null
+++ b/_badges/libpulse.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libpulse"
+version:
+---
diff --git a/_badges/libpython2dev.json b/_badges/libpython2dev.json
new file mode 100644
index 00000000..00769993
--- /dev/null
+++ b/_badges/libpython2dev.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libpython2dev"
+version:
+---
diff --git a/_badges/libpython3dev.json b/_badges/libpython3dev.json
new file mode 100644
index 00000000..741bc3ba
--- /dev/null
+++ b/_badges/libpython3dev.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libpython3dev"
+version:
+---
diff --git a/_badges/libreadline.json b/_badges/libreadline.json
new file mode 100644
index 00000000..475e6a4c
--- /dev/null
+++ b/_badges/libreadline.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libreadline"
+version:
+---
diff --git a/_badges/librtmidi.json b/_badges/librtmidi.json
new file mode 100644
index 00000000..062396c6
--- /dev/null
+++ b/_badges/librtmidi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "librtmidi"
+version:
+---
diff --git a/_badges/libsdl2.json b/_badges/libsdl2.json
new file mode 100644
index 00000000..4fb45652
--- /dev/null
+++ b/_badges/libsdl2.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libsdl2"
+version:
+---
diff --git a/_badges/libsdl2_image.json b/_badges/libsdl2_image.json
new file mode 100644
index 00000000..02cdfffa
--- /dev/null
+++ b/_badges/libsdl2_image.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libsdl2_image"
+version:
+---
diff --git a/_badges/libsdl2_ttf.json b/_badges/libsdl2_ttf.json
new file mode 100644
index 00000000..c3b4890b
--- /dev/null
+++ b/_badges/libsdl2_ttf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libsdl2_ttf"
+version:
+---
diff --git a/_badges/libsimpleio.json b/_badges/libsimpleio.json
new file mode 100644
index 00000000..91b5c227
--- /dev/null
+++ b/_badges/libsimpleio.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libsimpleio"
+version: "1.21136.1"
+---
diff --git a/_badges/libsqlite3.json b/_badges/libsqlite3.json
new file mode 100644
index 00000000..22b3ed53
--- /dev/null
+++ b/_badges/libsqlite3.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libsqlite3"
+version:
+---
diff --git a/_badges/libtcl.json b/_badges/libtcl.json
new file mode 100644
index 00000000..fc52bcb5
--- /dev/null
+++ b/_badges/libtcl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libtcl"
+version:
+---
diff --git a/_badges/libtk.json b/_badges/libtk.json
new file mode 100644
index 00000000..593380b6
--- /dev/null
+++ b/_badges/libtk.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libtk"
+version:
+---
diff --git a/_badges/libtls.json b/_badges/libtls.json
new file mode 100644
index 00000000..a2b68e47
--- /dev/null
+++ b/_badges/libtls.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libtls"
+version:
+---
diff --git a/_badges/libusb.json b/_badges/libusb.json
new file mode 100644
index 00000000..dbd31807
--- /dev/null
+++ b/_badges/libusb.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libusb"
+version:
+---
diff --git a/_badges/libwayland.json b/_badges/libwayland.json
new file mode 100644
index 00000000..e8ac8e6c
--- /dev/null
+++ b/_badges/libwayland.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libwayland"
+version:
+---
diff --git a/_badges/libx11.json b/_badges/libx11.json
new file mode 100644
index 00000000..9679e801
--- /dev/null
+++ b/_badges/libx11.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libx11"
+version:
+---
diff --git a/_badges/libzmq.json b/_badges/libzmq.json
new file mode 100644
index 00000000..c60585c0
--- /dev/null
+++ b/_badges/libzmq.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libzmq"
+version:
+---
diff --git a/_badges/linenoise_ada.json b/_badges/linenoise_ada.json
new file mode 100644
index 00000000..6bda75ec
--- /dev/null
+++ b/_badges/linenoise_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "linenoise_ada"
+version: "1.1.2"
+---
diff --git a/_badges/linux_hal.json b/_badges/linux_hal.json
new file mode 100644
index 00000000..9559e330
--- /dev/null
+++ b/_badges/linux_hal.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "linux_hal"
+version: "1.1.0"
+---
diff --git a/_badges/littlefs.json b/_badges/littlefs.json
new file mode 100644
index 00000000..470be714
--- /dev/null
+++ b/_badges/littlefs.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "littlefs"
+version: "0.3.1"
+---
diff --git a/_badges/lmdb_ada.json b/_badges/lmdb_ada.json
new file mode 100644
index 00000000..639f6f91
--- /dev/null
+++ b/_badges/lmdb_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lmdb_ada"
+version: "1.2.0"
+---
diff --git a/_badges/loga.json b/_badges/loga.json
new file mode 100644
index 00000000..a6354588
--- /dev/null
+++ b/_badges/loga.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "loga"
+version: "1.0.0"
+---
diff --git a/_badges/ltp_305.json b/_badges/ltp_305.json
new file mode 100644
index 00000000..508324db
--- /dev/null
+++ b/_badges/ltp_305.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ltp_305"
+version: "0.2.0"
+---
diff --git a/_badges/lvgl_ada.json b/_badges/lvgl_ada.json
new file mode 100644
index 00000000..ce393dad
--- /dev/null
+++ b/_badges/lvgl_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lvgl_ada"
+version: "1.0.0"
+---
diff --git a/_badges/lvgl_ada_examples.json b/_badges/lvgl_ada_examples.json
new file mode 100644
index 00000000..9ebcb387
--- /dev/null
+++ b/_badges/lvgl_ada_examples.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lvgl_ada_examples"
+version: "0.1.0"
+---
diff --git a/_badges/lvgl_ada_simulator.json b/_badges/lvgl_ada_simulator.json
new file mode 100644
index 00000000..ffcdae91
--- /dev/null
+++ b/_badges/lvgl_ada_simulator.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lvgl_ada_simulator"
+version: "1.0.0"
+---
diff --git a/_badges/lzmada.json b/_badges/lzmada.json
new file mode 100644
index 00000000..5d9fe89c
--- /dev/null
+++ b/_badges/lzmada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lzmada"
+version: "1.1.3"
+---
diff --git a/_badges/m4_tool.json b/_badges/m4_tool.json
new file mode 100644
index 00000000..6fa35a3c
--- /dev/null
+++ b/_badges/m4_tool.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "m4_tool"
+version:
+---
diff --git a/_badges/mage.json b/_badges/mage.json
new file mode 100644
index 00000000..c6b39665
--- /dev/null
+++ b/_badges/mage.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mage"
+version: "0.6.1"
+---
diff --git a/_badges/mage_hat.json b/_badges/mage_hat.json
new file mode 100644
index 00000000..26e91166
--- /dev/null
+++ b/_badges/mage_hat.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mage_hat"
+version: "0.3.0"
+---
diff --git a/_badges/make.json b/_badges/make.json
new file mode 100644
index 00000000..35bca1df
--- /dev/null
+++ b/_badges/make.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "make"
+version:
+---
diff --git a/_badges/mandelbrot_ascii.json b/_badges/mandelbrot_ascii.json
new file mode 100644
index 00000000..3b868db4
--- /dev/null
+++ b/_badges/mandelbrot_ascii.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mandelbrot_ascii"
+version: "1.0.0"
+---
diff --git a/_badges/markdown.json b/_badges/markdown.json
new file mode 100644
index 00000000..c229adb2
--- /dev/null
+++ b/_badges/markdown.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "markdown"
+version: "23.0.0"
+---
diff --git a/_badges/mathpaqs.json b/_badges/mathpaqs.json
new file mode 100644
index 00000000..ac56c890
--- /dev/null
+++ b/_badges/mathpaqs.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mathpaqs"
+version: "20230121.0.0"
+---
diff --git a/_badges/matreshka_amf.json b/_badges/matreshka_amf.json
new file mode 100644
index 00000000..c8706188
--- /dev/null
+++ b/_badges/matreshka_amf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_amf"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_amf_dd.json b/_badges/matreshka_amf_dd.json
new file mode 100644
index 00000000..d4b01cdf
--- /dev/null
+++ b/_badges/matreshka_amf_dd.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_amf_dd"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_amf_mofext.json b/_badges/matreshka_amf_mofext.json
new file mode 100644
index 00000000..421fb09c
--- /dev/null
+++ b/_badges/matreshka_amf_mofext.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_amf_mofext"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_amf_ocl.json b/_badges/matreshka_amf_ocl.json
new file mode 100644
index 00000000..8e9ff390
--- /dev/null
+++ b/_badges/matreshka_amf_ocl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_amf_ocl"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_amf_uml.json b/_badges/matreshka_amf_uml.json
new file mode 100644
index 00000000..3f7a6ecd
--- /dev/null
+++ b/_badges/matreshka_amf_uml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_amf_uml"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_amf_utp.json b/_badges/matreshka_amf_utp.json
new file mode 100644
index 00000000..ad388fb5
--- /dev/null
+++ b/_badges/matreshka_amf_utp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_amf_utp"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_fastcgi.json b/_badges/matreshka_fastcgi.json
new file mode 100644
index 00000000..ebd671a2
--- /dev/null
+++ b/_badges/matreshka_fastcgi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_fastcgi"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_league.json b/_badges/matreshka_league.json
new file mode 100644
index 00000000..d19bc93c
--- /dev/null
+++ b/_badges/matreshka_league.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_league"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_servlet.json b/_badges/matreshka_servlet.json
new file mode 100644
index 00000000..cbcc1ca3
--- /dev/null
+++ b/_badges/matreshka_servlet.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_servlet"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_soap.json b/_badges/matreshka_soap.json
new file mode 100644
index 00000000..23742f7e
--- /dev/null
+++ b/_badges/matreshka_soap.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_soap"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_soap_wsse.json b/_badges/matreshka_soap_wsse.json
new file mode 100644
index 00000000..7eb60a84
--- /dev/null
+++ b/_badges/matreshka_soap_wsse.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_soap_wsse"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_spikedog_api.json b/_badges/matreshka_spikedog_api.json
new file mode 100644
index 00000000..47e34299
--- /dev/null
+++ b/_badges/matreshka_spikedog_api.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_spikedog_api"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_spikedog_awsd.json b/_badges/matreshka_spikedog_awsd.json
new file mode 100644
index 00000000..47a45993
--- /dev/null
+++ b/_badges/matreshka_spikedog_awsd.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_spikedog_awsd"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_spikedog_core.json b/_badges/matreshka_spikedog_core.json
new file mode 100644
index 00000000..123abbd1
--- /dev/null
+++ b/_badges/matreshka_spikedog_core.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_spikedog_core"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_sql.json b/_badges/matreshka_sql.json
new file mode 100644
index 00000000..a9b1c437
--- /dev/null
+++ b/_badges/matreshka_sql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_sql"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_sql_firebird.json b/_badges/matreshka_sql_firebird.json
new file mode 100644
index 00000000..3c2ff176
--- /dev/null
+++ b/_badges/matreshka_sql_firebird.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_sql_firebird"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_sql_mysql.json b/_badges/matreshka_sql_mysql.json
new file mode 100644
index 00000000..d9094207
--- /dev/null
+++ b/_badges/matreshka_sql_mysql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_sql_mysql"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_sql_oracle.json b/_badges/matreshka_sql_oracle.json
new file mode 100644
index 00000000..51db66a7
--- /dev/null
+++ b/_badges/matreshka_sql_oracle.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_sql_oracle"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_sql_postgresql.json b/_badges/matreshka_sql_postgresql.json
new file mode 100644
index 00000000..817989a4
--- /dev/null
+++ b/_badges/matreshka_sql_postgresql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_sql_postgresql"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_sql_sqlite3.json b/_badges/matreshka_sql_sqlite3.json
new file mode 100644
index 00000000..5a452967
--- /dev/null
+++ b/_badges/matreshka_sql_sqlite3.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_sql_sqlite3"
+version: "21.0.0"
+---
diff --git a/_badges/matreshka_xml.json b/_badges/matreshka_xml.json
new file mode 100644
index 00000000..b06f12cd
--- /dev/null
+++ b/_badges/matreshka_xml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "matreshka_xml"
+version: "21.0.0"
+---
diff --git a/_badges/mcp2221.json b/_badges/mcp2221.json
new file mode 100644
index 00000000..3601c8ef
--- /dev/null
+++ b/_badges/mcp2221.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mcp2221"
+version: "1.21136.1"
+---
diff --git a/_badges/microbit_bsp.json b/_badges/microbit_bsp.json
new file mode 100644
index 00000000..c8dd7f47
--- /dev/null
+++ b/_badges/microbit_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "microbit_bsp"
+version: "0.2.0"
+---
diff --git a/_badges/microbit_examples.json b/_badges/microbit_examples.json
new file mode 100644
index 00000000..1f565f63
--- /dev/null
+++ b/_badges/microbit_examples.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "microbit_examples"
+version: "0.1.0"
+---
diff --git a/_badges/midi.json b/_badges/midi.json
new file mode 100644
index 00000000..9588bd2b
--- /dev/null
+++ b/_badges/midi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "midi"
+version: "0.2.0"
+---
diff --git a/_badges/minimal_containers.json b/_badges/minimal_containers.json
new file mode 100644
index 00000000..d7cc6ae8
--- /dev/null
+++ b/_badges/minimal_containers.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "minimal_containers"
+version: "1.0.0"
+---
diff --git a/_badges/minirest.json b/_badges/minirest.json
new file mode 100644
index 00000000..7621a975
--- /dev/null
+++ b/_badges/minirest.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "minirest"
+version: "0.2.0"
+---
diff --git a/_badges/minisamd51_bsp.json b/_badges/minisamd51_bsp.json
new file mode 100644
index 00000000..25764833
--- /dev/null
+++ b/_badges/minisamd51_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "minisamd51_bsp"
+version: "0.1.0"
+---
diff --git a/_badges/minisamd51_example.json b/_badges/minisamd51_example.json
new file mode 100644
index 00000000..476f8e3d
--- /dev/null
+++ b/_badges/minisamd51_example.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "minisamd51_example"
+version: "0.1.1"
+---
diff --git a/_badges/mold_lib.json b/_badges/mold_lib.json
new file mode 100644
index 00000000..340ff1e2
--- /dev/null
+++ b/_badges/mold_lib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mold_lib"
+version: "0.2.1"
+---
diff --git a/_badges/mos6502_create_led.json b/_badges/mos6502_create_led.json
new file mode 100644
index 00000000..a5ddb151
--- /dev/null
+++ b/_badges/mos6502_create_led.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mos6502_create_led"
+version: "1.5.0"
+---
diff --git a/_badges/mos6502_create_nop.json b/_badges/mos6502_create_nop.json
new file mode 100644
index 00000000..847fd093
--- /dev/null
+++ b/_badges/mos6502_create_nop.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mos6502_create_nop"
+version: "1.5.0"
+---
diff --git a/_badges/mos6502_create_reset.json b/_badges/mos6502_create_reset.json
new file mode 100644
index 00000000..5910b8b3
--- /dev/null
+++ b/_badges/mos6502_create_reset.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mos6502_create_reset"
+version: "1.5.0"
+---
diff --git a/_badges/msys2_runtime.json b/_badges/msys2_runtime.json
new file mode 100644
index 00000000..88bb0b52
--- /dev/null
+++ b/_badges/msys2_runtime.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "msys2_runtime"
+version:
+---
diff --git a/_badges/muntsos_beaglebone.json b/_badges/muntsos_beaglebone.json
new file mode 100644
index 00000000..eb1eeaec
--- /dev/null
+++ b/_badges/muntsos_beaglebone.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_beaglebone"
+version: "2.0.0"
+---
diff --git a/_badges/muntsos_dev_aarch64.json b/_badges/muntsos_dev_aarch64.json
new file mode 100644
index 00000000..8bf8735d
--- /dev/null
+++ b/_badges/muntsos_dev_aarch64.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_dev_aarch64"
+version:
+---
diff --git a/_badges/muntsos_dev_beaglebone.json b/_badges/muntsos_dev_beaglebone.json
new file mode 100644
index 00000000..29992d9c
--- /dev/null
+++ b/_badges/muntsos_dev_beaglebone.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_dev_beaglebone"
+version:
+---
diff --git a/_badges/muntsos_dev_raspberrypi1.json b/_badges/muntsos_dev_raspberrypi1.json
new file mode 100644
index 00000000..40e6bcbb
--- /dev/null
+++ b/_badges/muntsos_dev_raspberrypi1.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_dev_raspberrypi1"
+version:
+---
diff --git a/_badges/muntsos_dev_raspberrypi2.json b/_badges/muntsos_dev_raspberrypi2.json
new file mode 100644
index 00000000..4298e1c1
--- /dev/null
+++ b/_badges/muntsos_dev_raspberrypi2.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_dev_raspberrypi2"
+version:
+---
diff --git a/_badges/muntsos_raspberrypi1.json b/_badges/muntsos_raspberrypi1.json
new file mode 100644
index 00000000..73283da6
--- /dev/null
+++ b/_badges/muntsos_raspberrypi1.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_raspberrypi1"
+version: "2.0.0"
+---
diff --git a/_badges/muntsos_raspberrypi2.json b/_badges/muntsos_raspberrypi2.json
new file mode 100644
index 00000000..b1bf775c
--- /dev/null
+++ b/_badges/muntsos_raspberrypi2.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_raspberrypi2"
+version: "2.0.0"
+---
diff --git a/_badges/muntsos_raspberrypi3.json b/_badges/muntsos_raspberrypi3.json
new file mode 100644
index 00000000..4be21df4
--- /dev/null
+++ b/_badges/muntsos_raspberrypi3.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_raspberrypi3"
+version: "2.0.0"
+---
diff --git a/_badges/muntsos_raspberrypi4.json b/_badges/muntsos_raspberrypi4.json
new file mode 100644
index 00000000..8ac850fc
--- /dev/null
+++ b/_badges/muntsos_raspberrypi4.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_raspberrypi4"
+version: "2.0.0"
+---
diff --git a/_badges/ncursesada.json b/_badges/ncursesada.json
new file mode 100644
index 00000000..764a9786
--- /dev/null
+++ b/_badges/ncursesada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ncursesada"
+version: "6.3.0"
+---
diff --git a/_badges/nrf5x_hal.json b/_badges/nrf5x_hal.json
new file mode 100644
index 00000000..e80db7f9
--- /dev/null
+++ b/_badges/nrf5x_hal.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "nrf5x_hal"
+version: "0.1.0"
+---
diff --git a/_badges/openapi.json b/_badges/openapi.json
new file mode 100644
index 00000000..13c5d77f
--- /dev/null
+++ b/_badges/openapi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openapi"
+version: "0.7.0"
+---
diff --git a/_badges/openapi_server.json b/_badges/openapi_server.json
new file mode 100644
index 00000000..5e5f598f
--- /dev/null
+++ b/_badges/openapi_server.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openapi_server"
+version: "0.7.0"
+---
diff --git a/_badges/openglada.json b/_badges/openglada.json
new file mode 100644
index 00000000..40da67f2
--- /dev/null
+++ b/_badges/openglada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openglada"
+version: "0.9.0"
+---
diff --git a/_badges/openglada_glfw.json b/_badges/openglada_glfw.json
new file mode 100644
index 00000000..ddbdd702
--- /dev/null
+++ b/_badges/openglada_glfw.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openglada_glfw"
+version: "0.9.0"
+---
diff --git a/_badges/openglada_images.json b/_badges/openglada_images.json
new file mode 100644
index 00000000..cf48e982
--- /dev/null
+++ b/_badges/openglada_images.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openglada_images"
+version: "0.9.0"
+---
diff --git a/_badges/openglada_text.json b/_badges/openglada_text.json
new file mode 100644
index 00000000..180b32d3
--- /dev/null
+++ b/_badges/openglada_text.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openglada_text"
+version: "0.9.0"
+---
diff --git a/_badges/openssl.json b/_badges/openssl.json
new file mode 100644
index 00000000..0ca36a7e
--- /dev/null
+++ b/_badges/openssl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openssl"
+version:
+---
diff --git a/_badges/optional.json b/_badges/optional.json
new file mode 100644
index 00000000..d86f8337
--- /dev/null
+++ b/_badges/optional.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "optional"
+version: "0.1.0"
+---
diff --git a/_badges/orka.json b/_badges/orka.json
new file mode 100644
index 00000000..b19145c2
--- /dev/null
+++ b/_badges/orka.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka"
+version: "1.0.0"
+---
diff --git a/_badges/orka_awt.json b/_badges/orka_awt.json
new file mode 100644
index 00000000..72d5cf53
--- /dev/null
+++ b/_badges/orka_awt.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_awt"
+version: "1.0.0"
+---
diff --git a/_badges/orka_egl.json b/_badges/orka_egl.json
new file mode 100644
index 00000000..1237f81c
--- /dev/null
+++ b/_badges/orka_egl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_egl"
+version: "1.0.0"
+---
diff --git a/_badges/orka_numerics.json b/_badges/orka_numerics.json
new file mode 100644
index 00000000..51629d44
--- /dev/null
+++ b/_badges/orka_numerics.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_numerics"
+version: "1.0.0"
+---
diff --git a/_badges/orka_opengl.json b/_badges/orka_opengl.json
new file mode 100644
index 00000000..eeb55a4e
--- /dev/null
+++ b/_badges/orka_opengl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_opengl"
+version: "1.0.0"
+---
diff --git a/_badges/orka_plugin_archives.json b/_badges/orka_plugin_archives.json
new file mode 100644
index 00000000..378f1140
--- /dev/null
+++ b/_badges/orka_plugin_archives.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_plugin_archives"
+version: "1.0.0"
+---
diff --git a/_badges/orka_plugin_atmosphere.json b/_badges/orka_plugin_atmosphere.json
new file mode 100644
index 00000000..31f74052
--- /dev/null
+++ b/_badges/orka_plugin_atmosphere.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_plugin_atmosphere"
+version: "1.0.0"
+---
diff --git a/_badges/orka_plugin_gltf.json b/_badges/orka_plugin_gltf.json
new file mode 100644
index 00000000..990a984b
--- /dev/null
+++ b/_badges/orka_plugin_gltf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_plugin_gltf"
+version: "1.0.0"
+---
diff --git a/_badges/orka_plugin_terrain.json b/_badges/orka_plugin_terrain.json
new file mode 100644
index 00000000..60b8da0f
--- /dev/null
+++ b/_badges/orka_plugin_terrain.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_plugin_terrain"
+version: "1.0.0"
+---
diff --git a/_badges/orka_simd.json b/_badges/orka_simd.json
new file mode 100644
index 00000000..b92cf1fb
--- /dev/null
+++ b/_badges/orka_simd.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_simd"
+version: "1.0.0"
+---
diff --git a/_badges/orka_tensors_cpu.json b/_badges/orka_tensors_cpu.json
new file mode 100644
index 00000000..8159258b
--- /dev/null
+++ b/_badges/orka_tensors_cpu.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_tensors_cpu"
+version: "1.0.0"
+---
diff --git a/_badges/orka_tensors_gpu.json b/_badges/orka_tensors_gpu.json
new file mode 100644
index 00000000..cfa7a150
--- /dev/null
+++ b/_badges/orka_tensors_gpu.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_tensors_gpu"
+version: "1.0.0"
+---
diff --git a/_badges/orka_tools.json b/_badges/orka_tools.json
new file mode 100644
index 00000000..b590320a
--- /dev/null
+++ b/_badges/orka_tools.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_tools"
+version: "1.0.0"
+---
diff --git a/_badges/orka_transforms.json b/_badges/orka_transforms.json
new file mode 100644
index 00000000..c992fcb4
--- /dev/null
+++ b/_badges/orka_transforms.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_transforms"
+version: "1.0.0"
+---
diff --git a/_badges/orka_types.json b/_badges/orka_types.json
new file mode 100644
index 00000000..6d3df3fc
--- /dev/null
+++ b/_badges/orka_types.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "orka_types"
+version: "1.0.0"
+---
diff --git a/_badges/parse_args.json b/_badges/parse_args.json
new file mode 100644
index 00000000..6fad1425
--- /dev/null
+++ b/_badges/parse_args.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "parse_args"
+version: "0.9.0"
+---
diff --git a/_badges/partord.json b/_badges/partord.json
new file mode 100644
index 00000000..194f8b32
--- /dev/null
+++ b/_badges/partord.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "partord"
+version: "1.0.0"
+---
diff --git a/_badges/pbkdf2.json b/_badges/pbkdf2.json
new file mode 100644
index 00000000..5173e128
--- /dev/null
+++ b/_badges/pbkdf2.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pbkdf2"
+version: "3.0.0"
+---
diff --git a/_badges/pico_bsp.json b/_badges/pico_bsp.json
new file mode 100644
index 00000000..6b1ca7a0
--- /dev/null
+++ b/_badges/pico_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pico_bsp"
+version: "2.0.0"
+---
diff --git a/_badges/pico_examples.json b/_badges/pico_examples.json
new file mode 100644
index 00000000..9f7684cf
--- /dev/null
+++ b/_badges/pico_examples.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pico_examples"
+version: "2.0.0"
+---
diff --git a/_badges/pkg_config.json b/_badges/pkg_config.json
new file mode 100644
index 00000000..4f17b541
--- /dev/null
+++ b/_badges/pkg_config.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pkg_config"
+version:
+---
diff --git a/_badges/play_2048.json b/_badges/play_2048.json
new file mode 100644
index 00000000..328dbea5
--- /dev/null
+++ b/_badges/play_2048.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "play_2048"
+version: "1.0.0"
+---
diff --git a/_badges/plplot.json b/_badges/plplot.json
new file mode 100644
index 00000000..2235da8b
--- /dev/null
+++ b/_badges/plplot.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "plplot"
+version:
+---
diff --git a/_badges/postgresql.json b/_badges/postgresql.json
new file mode 100644
index 00000000..99b18f55
--- /dev/null
+++ b/_badges/postgresql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "postgresql"
+version:
+---
diff --git a/_badges/powerjoular.json b/_badges/powerjoular.json
new file mode 100644
index 00000000..910da8a5
--- /dev/null
+++ b/_badges/powerjoular.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "powerjoular"
+version: "0.6.0"
+---
diff --git a/_badges/ppag.json b/_badges/ppag.json
new file mode 100644
index 00000000..93277422
--- /dev/null
+++ b/_badges/ppag.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ppag"
+version: "2.1.1"
+---
diff --git a/_badges/program_proofs_in_spark.json b/_badges/program_proofs_in_spark.json
new file mode 100644
index 00000000..3792ba98
--- /dev/null
+++ b/_badges/program_proofs_in_spark.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "program_proofs_in_spark"
+version: "0.1.1"
+---
diff --git a/_badges/progress_indicators.json b/_badges/progress_indicators.json
new file mode 100644
index 00000000..da31813f
--- /dev/null
+++ b/_badges/progress_indicators.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "progress_indicators"
+version: "0.0.1"
+---
diff --git a/_badges/protobuf.json b/_badges/protobuf.json
new file mode 100644
index 00000000..45eac263
--- /dev/null
+++ b/_badges/protobuf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "protobuf"
+version: "1.0.0"
+---
diff --git a/_badges/pygamer_bsp.json b/_badges/pygamer_bsp.json
new file mode 100644
index 00000000..71a3b1e1
--- /dev/null
+++ b/_badges/pygamer_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pygamer_bsp"
+version: "1.0.0"
+---
diff --git a/_badges/pygamer_simulator.json b/_badges/pygamer_simulator.json
new file mode 100644
index 00000000..f0458d8c
--- /dev/null
+++ b/_badges/pygamer_simulator.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pygamer_simulator"
+version: "1.0.0"
+---
diff --git a/_badges/qoi.json b/_badges/qoi.json
new file mode 100644
index 00000000..2620f649
--- /dev/null
+++ b/_badges/qoi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "qoi"
+version: "0.1.0"
+---
diff --git a/_badges/raspberry_bsp.json b/_badges/raspberry_bsp.json
new file mode 100644
index 00000000..d9d6c44b
--- /dev/null
+++ b/_badges/raspberry_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "raspberry_bsp"
+version: "1.0.0"
+---
diff --git a/_badges/rclada.json b/_badges/rclada.json
new file mode 100644
index 00000000..013cac4f
--- /dev/null
+++ b/_badges/rclada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "rclada"
+version: "0.1.0"
+---
diff --git a/_badges/rclada_examples.json b/_badges/rclada_examples.json
new file mode 100644
index 00000000..7918b71c
--- /dev/null
+++ b/_badges/rclada_examples.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "rclada_examples"
+version: "0.1.0"
+---
diff --git a/_badges/re2c.json b/_badges/re2c.json
new file mode 100644
index 00000000..f2fa06d3
--- /dev/null
+++ b/_badges/re2c.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "re2c"
+version:
+---
diff --git a/_badges/rejuvenation.json b/_badges/rejuvenation.json
new file mode 100644
index 00000000..a604100c
--- /dev/null
+++ b/_badges/rejuvenation.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "rejuvenation"
+version: "23.0.0"
+---
diff --git a/_badges/remoteio.json b/_badges/remoteio.json
new file mode 100644
index 00000000..b054385a
--- /dev/null
+++ b/_badges/remoteio.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "remoteio"
+version: "1.21136.1"
+---
diff --git a/_badges/resources.json b/_badges/resources.json
new file mode 100644
index 00000000..8854d1d6
--- /dev/null
+++ b/_badges/resources.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "resources"
+version: "0.1.0"
+---
diff --git a/_badges/rewriters.json b/_badges/rewriters.json
new file mode 100644
index 00000000..edf30a21
--- /dev/null
+++ b/_badges/rewriters.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "rewriters"
+version: "23.0.0"
+---
diff --git a/_badges/ros2_foxy.json b/_badges/ros2_foxy.json
new file mode 100644
index 00000000..8df21c43
--- /dev/null
+++ b/_badges/ros2_foxy.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ros2_foxy"
+version:
+---
diff --git a/_badges/rp2040_hal.json b/_badges/rp2040_hal.json
new file mode 100644
index 00000000..cf841641
--- /dev/null
+++ b/_badges/rp2040_hal.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "rp2040_hal"
+version: "2.0.1"
+---
diff --git a/_badges/rsfile.json b/_badges/rsfile.json
new file mode 100644
index 00000000..8cba6bfa
--- /dev/null
+++ b/_badges/rsfile.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "rsfile"
+version: "1.0.1"
+---
diff --git a/_badges/rtmidi.json b/_badges/rtmidi.json
new file mode 100644
index 00000000..90c8c51b
--- /dev/null
+++ b/_badges/rtmidi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "rtmidi"
+version: "0.1.0"
+---
diff --git a/_badges/rxada.json b/_badges/rxada.json
new file mode 100644
index 00000000..20d1d515
--- /dev/null
+++ b/_badges/rxada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "rxada"
+version: "0.1.1"
+---
diff --git a/_badges/saatana.json b/_badges/saatana.json
new file mode 100644
index 00000000..492d39d4
--- /dev/null
+++ b/_badges/saatana.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "saatana"
+version: "2.0.2"
+---
diff --git a/_badges/samd51_hal.json b/_badges/samd51_hal.json
new file mode 100644
index 00000000..f3168915
--- /dev/null
+++ b/_badges/samd51_hal.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "samd51_hal"
+version: "0.3.0"
+---
diff --git a/_badges/scripted_testing.json b/_badges/scripted_testing.json
new file mode 100644
index 00000000..76f4db34
--- /dev/null
+++ b/_badges/scripted_testing.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "scripted_testing"
+version: "2.0.0"
+---
diff --git a/_badges/sdlada.json b/_badges/sdlada.json
new file mode 100644
index 00000000..685ff5ae
--- /dev/null
+++ b/_badges/sdlada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "sdlada"
+version: "2.5.5"
+---
diff --git a/_badges/security.json b/_badges/security.json
new file mode 100644
index 00000000..24288329
--- /dev/null
+++ b/_badges/security.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "security"
+version: "1.5.0"
+---
diff --git a/_badges/semantic_versioning.json b/_badges/semantic_versioning.json
new file mode 100644
index 00000000..2b536a8b
--- /dev/null
+++ b/_badges/semantic_versioning.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "semantic_versioning"
+version: "2.1.0"
+---
diff --git a/_badges/septum.json b/_badges/septum.json
new file mode 100644
index 00000000..f43ca600
--- /dev/null
+++ b/_badges/septum.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "septum"
+version: "0.0.7"
+---
diff --git a/_badges/serverfaces.json b/_badges/serverfaces.json
new file mode 100644
index 00000000..315a3605
--- /dev/null
+++ b/_badges/serverfaces.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "serverfaces"
+version: "1.6.0"
+---
diff --git a/_badges/serverfaces_unit.json b/_badges/serverfaces_unit.json
new file mode 100644
index 00000000..b079f233
--- /dev/null
+++ b/_badges/serverfaces_unit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "serverfaces_unit"
+version: "1.6.0"
+---
diff --git a/_badges/servletada.json b/_badges/servletada.json
new file mode 100644
index 00000000..20fcf4f8
--- /dev/null
+++ b/_badges/servletada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "servletada"
+version: "1.7.0"
+---
diff --git a/_badges/servletada_aws.json b/_badges/servletada_aws.json
new file mode 100644
index 00000000..95fe8971
--- /dev/null
+++ b/_badges/servletada_aws.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "servletada_aws"
+version: "1.6.0"
+---
diff --git a/_badges/servletada_ews.json b/_badges/servletada_ews.json
new file mode 100644
index 00000000..3dce5259
--- /dev/null
+++ b/_badges/servletada_ews.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "servletada_ews"
+version: "1.7.0"
+---
diff --git a/_badges/servletada_unit.json b/_badges/servletada_unit.json
new file mode 100644
index 00000000..2e3408e7
--- /dev/null
+++ b/_badges/servletada_unit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "servletada_unit"
+version: "1.7.0"
+---
diff --git a/_badges/sh1107.json b/_badges/sh1107.json
new file mode 100644
index 00000000..22be7ac5
--- /dev/null
+++ b/_badges/sh1107.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "sh1107"
+version: "1.2.2"
+---
diff --git a/_badges/sha1.json b/_badges/sha1.json
new file mode 100644
index 00000000..d014a6e9
--- /dev/null
+++ b/_badges/sha1.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "sha1"
+version: "2.0.0"
+---
diff --git a/_badges/sha2.json b/_badges/sha2.json
new file mode 100644
index 00000000..f4b34bd3
--- /dev/null
+++ b/_badges/sha2.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "sha2"
+version: "2.0.0"
+---
diff --git a/_badges/shoot_n_loot.json b/_badges/shoot_n_loot.json
new file mode 100644
index 00000000..7d9ee6ef
--- /dev/null
+++ b/_badges/shoot_n_loot.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "shoot_n_loot"
+version: "1.0.0"
+---
diff --git a/_badges/si_units.json b/_badges/si_units.json
new file mode 100644
index 00000000..607b0ca4
--- /dev/null
+++ b/_badges/si_units.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "si_units"
+version: "0.2.0"
+---
diff --git a/_badges/simh_tapes.json b/_badges/simh_tapes.json
new file mode 100644
index 00000000..12998786
--- /dev/null
+++ b/_badges/simh_tapes.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "simh_tapes"
+version: "0.1.1"
+---
diff --git a/_badges/simple_components.json b/_badges/simple_components.json
new file mode 100644
index 00000000..2c220499
--- /dev/null
+++ b/_badges/simple_components.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "simple_components"
+version: "4.62.0"
+---
diff --git a/_badges/simple_logging.json b/_badges/simple_logging.json
new file mode 100644
index 00000000..7c4c64fa
--- /dev/null
+++ b/_badges/simple_logging.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "simple_logging"
+version: "1.2.0"
+---
diff --git a/_badges/simple_regex.json b/_badges/simple_regex.json
new file mode 100644
index 00000000..c0313d77
--- /dev/null
+++ b/_badges/simple_regex.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "simple_regex"
+version: "0.1.0"
+---
diff --git a/_badges/slip.json b/_badges/slip.json
new file mode 100644
index 00000000..868da875
--- /dev/null
+++ b/_badges/slip.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "slip"
+version: "0.0.1"
+---
diff --git a/_badges/socketcan.json b/_badges/socketcan.json
new file mode 100644
index 00000000..8f16a1a2
--- /dev/null
+++ b/_badges/socketcan.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "socketcan"
+version: "1.0.0"
+---
diff --git a/_badges/spark_unbound.json b/_badges/spark_unbound.json
new file mode 100644
index 00000000..d59a5c7a
--- /dev/null
+++ b/_badges/spark_unbound.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "spark_unbound"
+version: "0.2.1"
+---
diff --git a/_badges/sparknacl.json b/_badges/sparknacl.json
new file mode 100644
index 00000000..9e06cfcd
--- /dev/null
+++ b/_badges/sparknacl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "sparknacl"
+version: "3.0.0"
+---
diff --git a/_badges/spat.json b/_badges/spat.json
new file mode 100644
index 00000000..f99c502f
--- /dev/null
+++ b/_badges/spat.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "spat"
+version: "1.3.0"
+---
diff --git a/_badges/spawn.json b/_badges/spawn.json
new file mode 100644
index 00000000..0a28d165
--- /dev/null
+++ b/_badges/spawn.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "spawn"
+version: "23.0.0"
+---
diff --git a/_badges/spawn_glib.json b/_badges/spawn_glib.json
new file mode 100644
index 00000000..31c21f31
--- /dev/null
+++ b/_badges/spawn_glib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "spawn_glib"
+version: "23.0.0"
+---
diff --git a/_badges/spdx.json b/_badges/spdx.json
new file mode 100644
index 00000000..712ae270
--- /dev/null
+++ b/_badges/spdx.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "spdx"
+version: "0.2.0"
+---
diff --git a/_badges/specfun.json b/_badges/specfun.json
new file mode 100644
index 00000000..c08943ac
--- /dev/null
+++ b/_badges/specfun.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "specfun"
+version: "1.0.0"
+---
diff --git a/_badges/spoon.json b/_badges/spoon.json
new file mode 100644
index 00000000..630adff3
--- /dev/null
+++ b/_badges/spoon.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "spoon"
+version: "1.0.1"
+---
diff --git a/_badges/startup_gen.json b/_badges/startup_gen.json
new file mode 100644
index 00000000..2929e921
--- /dev/null
+++ b/_badges/startup_gen.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "startup_gen"
+version: "23.0.0"
+---
diff --git a/_badges/stephes_ada_library.json b/_badges/stephes_ada_library.json
new file mode 100644
index 00000000..664ecf62
--- /dev/null
+++ b/_badges/stephes_ada_library.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "stephes_ada_library"
+version: "3.7.2"
+---
diff --git a/_badges/stm32f0x2_hal.json b/_badges/stm32f0x2_hal.json
new file mode 100644
index 00000000..fe40f5fd
--- /dev/null
+++ b/_badges/stm32f0x2_hal.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "stm32f0x2_hal"
+version: "0.1.0"
+---
diff --git a/_badges/stopwatch.json b/_badges/stopwatch.json
new file mode 100644
index 00000000..f22282e2
--- /dev/null
+++ b/_badges/stopwatch.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "stopwatch"
+version: "0.1.0"
+---
diff --git a/_badges/svd2ada.json b/_badges/svd2ada.json
new file mode 100644
index 00000000..fd3f8060
--- /dev/null
+++ b/_badges/svd2ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "svd2ada"
+version: "0.1.0"
+---
diff --git a/_badges/system_random.json b/_badges/system_random.json
new file mode 100644
index 00000000..14a660e4
--- /dev/null
+++ b/_badges/system_random.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "system_random"
+version: "1.0.0"
+---
diff --git a/_badges/tash.json b/_badges/tash.json
new file mode 100644
index 00000000..8a40a21a
--- /dev/null
+++ b/_badges/tash.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "tash"
+version: "8.7.2"
+---
diff --git a/_badges/task_coroutines.json b/_badges/task_coroutines.json
new file mode 100644
index 00000000..6e715253
--- /dev/null
+++ b/_badges/task_coroutines.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "task_coroutines"
+version: "0.1.0"
+---
diff --git a/_badges/templates_parser.json b/_badges/templates_parser.json
new file mode 100644
index 00000000..36bc2c62
--- /dev/null
+++ b/_badges/templates_parser.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "templates_parser"
+version: "23.0.0"
+---
diff --git a/_badges/tiled_code_gen.json b/_badges/tiled_code_gen.json
new file mode 100644
index 00000000..e57542ec
--- /dev/null
+++ b/_badges/tiled_code_gen.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "tiled_code_gen"
+version: "0.1.0"
+---
diff --git a/_badges/tiny_rp2040_bsp.json b/_badges/tiny_rp2040_bsp.json
new file mode 100644
index 00000000..bf2fefd0
--- /dev/null
+++ b/_badges/tiny_rp2040_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "tiny_rp2040_bsp"
+version: "0.2.1"
+---
diff --git a/_badges/tiny_text.json b/_badges/tiny_text.json
new file mode 100644
index 00000000..2c8c413b
--- /dev/null
+++ b/_badges/tiny_text.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "tiny_text"
+version: "1.0.0"
+---
diff --git a/_badges/tlsada.json b/_badges/tlsada.json
new file mode 100644
index 00000000..5eba57b6
--- /dev/null
+++ b/_badges/tlsada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "tlsada"
+version: "2.5.2"
+---
diff --git a/_badges/toml_slicer.json b/_badges/toml_slicer.json
new file mode 100644
index 00000000..03fdf640
--- /dev/null
+++ b/_badges/toml_slicer.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "toml_slicer"
+version: "0.1.1"
+---
diff --git a/_badges/trendy_terminal.json b/_badges/trendy_terminal.json
new file mode 100644
index 00000000..2618e28e
--- /dev/null
+++ b/_badges/trendy_terminal.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "trendy_terminal"
+version: "0.0.5"
+---
diff --git a/_badges/trendy_test.json b/_badges/trendy_test.json
new file mode 100644
index 00000000..f43c6525
--- /dev/null
+++ b/_badges/trendy_test.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "trendy_test"
+version: "0.0.3"
+---
diff --git a/_badges/tresses.json b/_badges/tresses.json
new file mode 100644
index 00000000..a0efce67
--- /dev/null
+++ b/_badges/tresses.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "tresses"
+version: "0.1.0"
+---
diff --git a/_badges/umwi.json b/_badges/umwi.json
new file mode 100644
index 00000000..5e42c9f5
--- /dev/null
+++ b/_badges/umwi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "umwi"
+version: "0.1.0"
+---
diff --git a/_badges/unixodbc.json b/_badges/unixodbc.json
new file mode 100644
index 00000000..a816767d
--- /dev/null
+++ b/_badges/unixodbc.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "unixodbc"
+version:
+---
diff --git a/_badges/uri_ada.json b/_badges/uri_ada.json
new file mode 100644
index 00000000..c1e0cc8d
--- /dev/null
+++ b/_badges/uri_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "uri_ada"
+version: "2.0.0"
+---
diff --git a/_badges/uri_mime.json b/_badges/uri_mime.json
new file mode 100644
index 00000000..39af3d67
--- /dev/null
+++ b/_badges/uri_mime.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "uri_mime"
+version: "1.4.0"
+---
diff --git a/_badges/usb_embedded.json b/_badges/usb_embedded.json
new file mode 100644
index 00000000..de0c69f2
--- /dev/null
+++ b/_badges/usb_embedded.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "usb_embedded"
+version: "0.3.0"
+---
diff --git a/_badges/utf8test.json b/_badges/utf8test.json
new file mode 100644
index 00000000..69c012a7
--- /dev/null
+++ b/_badges/utf8test.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utf8test"
+version: "0.1.0"
+---
diff --git a/_badges/utilada.json b/_badges/utilada.json
new file mode 100644
index 00000000..50670da0
--- /dev/null
+++ b/_badges/utilada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada"
+version: "2.6.0"
+---
diff --git a/_badges/utilada_aws.json b/_badges/utilada_aws.json
new file mode 100644
index 00000000..ae9b4317
--- /dev/null
+++ b/_badges/utilada_aws.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_aws"
+version: "2.5.0"
+---
diff --git a/_badges/utilada_curl.json b/_badges/utilada_curl.json
new file mode 100644
index 00000000..c6a2376c
--- /dev/null
+++ b/_badges/utilada_curl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_curl"
+version: "2.6.0"
+---
diff --git a/_badges/utilada_lzma.json b/_badges/utilada_lzma.json
new file mode 100644
index 00000000..70c39f62
--- /dev/null
+++ b/_badges/utilada_lzma.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_lzma"
+version: "2.6.0"
+---
diff --git a/_badges/utilada_unit.json b/_badges/utilada_unit.json
new file mode 100644
index 00000000..a75fb905
--- /dev/null
+++ b/_badges/utilada_unit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_unit"
+version: "2.6.0"
+---
diff --git a/_badges/utilada_xml.json b/_badges/utilada_xml.json
new file mode 100644
index 00000000..8e02571a
--- /dev/null
+++ b/_badges/utilada_xml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_xml"
+version: "2.6.0"
+---
diff --git a/_badges/uxstrings.json b/_badges/uxstrings.json
new file mode 100644
index 00000000..1b421ed1
--- /dev/null
+++ b/_badges/uxstrings.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "uxstrings"
+version: "0.5.0+alpha-20230401"
+---
diff --git a/_badges/vanilla.json b/_badges/vanilla.json
new file mode 100644
index 00000000..358ce7d2
--- /dev/null
+++ b/_badges/vanilla.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "vanilla"
+version: "0.9.8"
+---
diff --git a/_badges/vaton.json b/_badges/vaton.json
new file mode 100644
index 00000000..244ccb3c
--- /dev/null
+++ b/_badges/vaton.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "vaton"
+version: "0.1.0"
+---
diff --git a/_badges/virtapu.json b/_badges/virtapu.json
new file mode 100644
index 00000000..a53dd0b6
--- /dev/null
+++ b/_badges/virtapu.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "virtapu"
+version: "0.2.0"
+---
diff --git a/_badges/vss.json b/_badges/vss.json
new file mode 100644
index 00000000..fdee2e24
--- /dev/null
+++ b/_badges/vss.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "vss"
+version: "23.0.0"
+---
diff --git a/_badges/wayland_ada_info.json b/_badges/wayland_ada_info.json
new file mode 100644
index 00000000..a02f86dc
--- /dev/null
+++ b/_badges/wayland_ada_info.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wayland_ada_info"
+version: "1.0.0"
+---
diff --git a/_badges/wayland_ada_scanner.json b/_badges/wayland_ada_scanner.json
new file mode 100644
index 00000000..4958877e
--- /dev/null
+++ b/_badges/wayland_ada_scanner.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wayland_ada_scanner"
+version: "1.0.0"
+---
diff --git a/_badges/wayland_client_ada.json b/_badges/wayland_client_ada.json
new file mode 100644
index 00000000..0846054d
--- /dev/null
+++ b/_badges/wayland_client_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wayland_client_ada"
+version: "1.0.0"
+---
diff --git a/_badges/wayland_cursor_ada.json b/_badges/wayland_cursor_ada.json
new file mode 100644
index 00000000..14db8b9b
--- /dev/null
+++ b/_badges/wayland_cursor_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wayland_cursor_ada"
+version: "1.0.0"
+---
diff --git a/_badges/wayland_egl_ada.json b/_badges/wayland_egl_ada.json
new file mode 100644
index 00000000..a04045da
--- /dev/null
+++ b/_badges/wayland_egl_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wayland_egl_ada"
+version: "1.0.0"
+---
diff --git a/_badges/wayland_protocols_ada.json b/_badges/wayland_protocols_ada.json
new file mode 100644
index 00000000..071133f6
--- /dev/null
+++ b/_badges/wayland_protocols_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wayland_protocols_ada"
+version: "1.0.0"
+---
diff --git a/_badges/webdriver.json b/_badges/webdriver.json
new file mode 100644
index 00000000..508bc7e3
--- /dev/null
+++ b/_badges/webdriver.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "webdriver"
+version: "1.0.0"
+---
diff --git a/_badges/weechat_ada.json b/_badges/weechat_ada.json
new file mode 100644
index 00000000..caab691c
--- /dev/null
+++ b/_badges/weechat_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "weechat_ada"
+version: "3.0.1"
+---
diff --git a/_badges/wikiada.json b/_badges/wikiada.json
new file mode 100644
index 00000000..65f25881
--- /dev/null
+++ b/_badges/wikiada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wikiada"
+version: "1.4.1"
+---
diff --git a/_badges/win32ada.json b/_badges/win32ada.json
new file mode 100644
index 00000000..36522e83
--- /dev/null
+++ b/_badges/win32ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "win32ada"
+version:
+---
diff --git a/_badges/winpthreads.json b/_badges/winpthreads.json
new file mode 100644
index 00000000..b2a40ad3
--- /dev/null
+++ b/_badges/winpthreads.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "winpthreads"
+version:
+---
diff --git a/_badges/wisitoken.json b/_badges/wisitoken.json
new file mode 100644
index 00000000..e6fe97cf
--- /dev/null
+++ b/_badges/wisitoken.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wisitoken"
+version: "4.1.0"
+---
diff --git a/_badges/wordle.json b/_badges/wordle.json
new file mode 100644
index 00000000..057660c8
--- /dev/null
+++ b/_badges/wordle.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wordle"
+version: "0.1.1"
+---
diff --git a/_badges/wordlelib.json b/_badges/wordlelib.json
new file mode 100644
index 00000000..e100ef88
--- /dev/null
+++ b/_badges/wordlelib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wordlelib"
+version: "0.1.0"
+---
diff --git a/_badges/wordlist.json b/_badges/wordlist.json
new file mode 100644
index 00000000..dff173ab
--- /dev/null
+++ b/_badges/wordlist.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wordlist"
+version: "0.1.3"
+---
diff --git a/_badges/workers.json b/_badges/workers.json
new file mode 100644
index 00000000..7ed0bee3
--- /dev/null
+++ b/_badges/workers.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "workers"
+version: "0.1.0"
+---
diff --git a/_badges/xdg_base_dir.json b/_badges/xdg_base_dir.json
new file mode 100644
index 00000000..6697b798
--- /dev/null
+++ b/_badges/xdg_base_dir.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "xdg_base_dir"
+version: "1.0.0"
+---
diff --git a/_badges/xia.json b/_badges/xia.json
new file mode 100644
index 00000000..2fba49fd
--- /dev/null
+++ b/_badges/xia.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "xia"
+version: "1.4.0"
+---
diff --git a/_badges/xml_ez_out.json b/_badges/xml_ez_out.json
new file mode 100644
index 00000000..97f5fc96
--- /dev/null
+++ b/_badges/xml_ez_out.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "xml_ez_out"
+version: "1.6.0"
+---
diff --git a/_badges/xmlada.json b/_badges/xmlada.json
new file mode 100644
index 00000000..8480fab2
--- /dev/null
+++ b/_badges/xmlada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "xmlada"
+version: "23.0.0"
+---
diff --git a/_badges/xoshiro.json b/_badges/xoshiro.json
new file mode 100644
index 00000000..f6782507
--- /dev/null
+++ b/_badges/xoshiro.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "xoshiro"
+version: "1.0.0"
+---
diff --git a/_badges/yeison.json b/_badges/yeison.json
new file mode 100644
index 00000000..115290d6
--- /dev/null
+++ b/_badges/yeison.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "yeison"
+version: "0.1.0"
+---
diff --git a/_badges/zeromq_ada.json b/_badges/zeromq_ada.json
new file mode 100644
index 00000000..87918c43
--- /dev/null
+++ b/_badges/zeromq_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "zeromq_ada"
+version: "4.1.5"
+---
diff --git a/_badges/zipada.json b/_badges/zipada.json
new file mode 100644
index 00000000..4a71036d
--- /dev/null
+++ b/_badges/zipada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "zipada"
+version: "58.0.0"
+---
diff --git a/_badges/zipdcf.json b/_badges/zipdcf.json
new file mode 100644
index 00000000..2a6ad3b9
--- /dev/null
+++ b/_badges/zipdcf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "zipdcf"
+version: "2.0.3"
+---
diff --git a/_badges/zlib.json b/_badges/zlib.json
new file mode 100644
index 00000000..73e56f4c
--- /dev/null
+++ b/_badges/zlib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "zlib"
+version:
+---
diff --git a/_badges/zlib_ada.json b/_badges/zlib_ada.json
new file mode 100644
index 00000000..16970f09
--- /dev/null
+++ b/_badges/zlib_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "zlib_ada"
+version: "1.3.0"
+---
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 00000000..b29f531b
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,66 @@
+# Welcome to Jekyll!
+#
+# This config file is meant for settings that affect your whole blog, values
+# which you are expected to set up once and rarely edit after that. If you find
+# yourself editing this file very often, consider using Jekyll's data files
+# feature for the data you need to update frequently.
+#
+# For technical reasons, this file is *NOT* reloaded automatically when you use
+# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
+
+# Site settings
+# These are used to personalize your new site. If you look in the HTML files,
+# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
+# You can create any custom variable you would like, and they will be accessible
+# in the templates via {{ site.myvariable }}.
+title: Alire
+description: A catalog of ready-to-use Ada libraries
+baseurl: "" # the subpath of your site, e.g. /blog
+url: "" # the base hostname & protocol for your site, e.g. http://example.com
+
+# Build settings
+markdown: kramdown
+# theme: devlopr
+plugins:
+ - jekyll-feed
+
+# Exclude from processing.
+# The following items will not be processed, by default. Create a custom list
+# to override the default setting.
+exclude:
+ - README.md
+ - Gemfile
+ - Gemfile.lock
+ - node_modules
+
+collections:
+ crates:
+ output: true
+ badges:
+ output: true
+
+include:
+ - docs
+
+header_pages:
+ - crates.md
+ - search.html
+ - docs/index.md
+
+# Devlopr
+author_logo: profile.png
+twitter_username: adaprogrammers
+github_username: alire-project
+gitter_room: ada-lang/Alire
+
+# Search settings
+tipue_search:
+ include:
+ pages: true
+ exclude:
+ files: [index.md, search.html]
+
+# Set Kramdown table-of-content levels. This setting is for the entire site,
+# but so far TOC is only used in the docs.
+kramdown:
+ toc_levels: 1..2
diff --git a/_crates/aaa.md b/_crates/aaa.md
new file mode 100644
index 00000000..d28e72e5
--- /dev/null
+++ b/_crates/aaa.md
@@ -0,0 +1,27 @@
+---
+layout: crate
+crate: "aaa"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["LGPL-3.0-only"]
+websites: ["https://github.com/mosteo/aaa"]
+tags: ["miscellanea",
+"utility"]
+version: "0.2.6"
+short_description: "Alex's Ada Assortment (of miscellaneous utilities)"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Alex's Ada Assortment of Utilities
+
+- Text formatting (paragraphs, tables).
+- Indefinite containers.
+- Enumeration validity/conversions of string images.
+- On-demand stack backtraces.
+- String containers and utilities.
+- Simple subprocess spawning.
+- Write-through minimal cache for objects stored in files
+
+
diff --git a/_crates/ada_fuse.md b/_crates/ada_fuse.md
new file mode 100644
index 00000000..300d4ad1
--- /dev/null
+++ b/_crates/ada_fuse.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "ada_fuse"
+authors: ["Alexander Herr ",
+"Nicolai Ruckel ",
+"Christopher Lübbemeier "]
+maintainers: ["Nicolai Ruckel "]
+licenses: ["GPL-3.0-only"]
+websites: ["https://github.com/medsec/ada-fuse"]
+tags: []
+version: "1.0.1"
+short_description: "Ada bindings for Fuse (Filesystem in Userspace)"
+dependencies: [{crate: "libfuse", version: "^2.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ada_language_server.md b/_crates/ada_language_server.md
new file mode 100644
index 00000000..17004aae
--- /dev/null
+++ b/_crates/ada_language_server.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "ada_language_server"
+authors: ["AdaCore"]
+maintainers: ["Maxim Reznik "]
+licenses: ["GPL-3.0-only"]
+websites: ["https://github.com/AdaCore/ada_language_server"]
+tags: ["lsp",
+"vscode"]
+version: "23.0.0"
+short_description: "An implementation of the Microsoft's Language Server Protocol for Ada"
+dependencies: [{crate: "gnatcoll", version: "23.0.0"},
+{crate: "libadalang", version: "23.0.0"},
+{crate: "libadalang_tools", version: "23.0.0"},
+{crate: "libgnatdoc", version: "23.0.0"},
+{crate: "vss", version: "23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ada_lua.md b/_crates/ada_lua.md
new file mode 100644
index 00000000..d5443cc2
--- /dev/null
+++ b/_crates/ada_lua.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "ada_lua"
+authors: ["Nicolas Roche "]
+maintainers: ["Nicolas Roche "]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/ada-lua"]
+tags: ["lua",
+"binding",
+"script"]
+version: "0.1.0"
+short_description: "An Ada binding for lua"
+dependencies: [{crate: "liblua", version: "~5.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ada_pretty.md b/_crates/ada_pretty.md
new file mode 100644
index 00000000..5537ae18
--- /dev/null
+++ b/_crates/ada_pretty.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "ada_pretty"
+authors: ["Maxim Reznik"]
+maintainers: ["Maxim Reznik "]
+licenses: ["MIT"]
+websites: ["https://github.com/reznikmm/ada-pretty/"]
+tags: ["pretty",
+"printing",
+"generator"]
+version: "1.0.0"
+short_description: "Ada Pretty Printer Library"
+dependencies: [{crate: "matreshka_league", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ada_toml.md b/_crates/ada_toml.md
new file mode 100644
index 00000000..4bc11b41
--- /dev/null
+++ b/_crates/ada_toml.md
@@ -0,0 +1,107 @@
+---
+layout: crate
+crate: "ada_toml"
+authors: ["AdaCore",
+"Pierre-Marie de Rodat "]
+maintainers: ["pmderodat@kawie.fr"]
+licenses: ["BSD-3-Clause"]
+websites: []
+tags: []
+version: "0.3.0"
+short_description: "TOML parser for Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+ada-toml: TOML parser for Ada
+=============================
+
+`ada-toml` is a pure Ada library for parsing and creating
+[TOML](https://github.com/toml-lang/toml#toml) documents. It conforms to the
+[version 1.0.0](https://toml.io/en/v1.0.0) of the format standard.
+
+
+Quick tutorial
+--------------
+
+All basic types and subprograms are in the `TOML` package. All "nodes" in a
+TOML documents are materialized using the `TOML.TOML_Value` type. Since TOML
+values make up a tree, this type has reference semantics. This means that
+modifying a TOML node does not modify the corresponding `TOML_Value` value
+itself, but rather the TOML value that is referenced.
+
+Parsing a TOML file is as easy as using the `TOML.File_IO.Load_File` function:
+
+```ada
+declare
+ Result : constant TOML.Read_Result :=
+ TOML.File_IO.Load_File ("config.toml");
+begin
+ if Result.Success then
+ Ada.Text_IO.Put_Line ("config.toml loaded with success!");
+ else
+ Ada.Text_IO.Put_Line ("error while loading config.toml:");
+ Ada.Text_IO.Put_Line
+ (Ada.Strings.Unbounded.To_String (Result.Message));
+ end if;
+end;
+```
+
+Each TOML value has kind, defining which data it contains (a boolean, an
+integer, a string, a table, ...). To each kind, one or several primitives are
+associated to let one process the underlying data:
+
+```ada
+case Result.Kind is
+ when TOML.TOML_Boolean =>
+ Ada.Text_IO.Put_Line ("Boolean: " & Result.As_Boolean'Image);
+
+ when TOML.TOML_Integer =>
+ Ada.Text_IO.Put_Line ("Boolean: " & Result.As_Integer'Image);
+
+ when TOML.TOML_String =>
+ Ada.Text_IO.Put_Line ("Boolean: " & Result.As_String);
+
+ when TOML.TOML_Array =>
+ Ada.Text_IO.Put_Line ("Array of " & Result.Length & " elements");
+
+ when others =>
+ null;
+end case;
+```
+
+There are also primitives to build TOML values:
+
+```ada
+declare
+ Bool : constant TOML.TOML_Value := TOML.Create_Boolean (False);
+ Int : constant TOML.TOML_Value := TOML.Create_Integer (10);
+ Str : constant TOML.TOML_Value := TOML.Create_String ("Hello, world");
+
+ Table : constant TOML.TOML_Value := TOML.Create_Table;
+begin
+ Table.Set ("bool_field", Bool);
+ Table.Set ("int_field", Int);
+ Table.Set ("str_field", Str);
+end;
+```
+
+And finally one can turn a tree of TOML nodes back in text form:
+
+```ada
+Ada.Text_IO.Put_Line ("TOML document:");
+Ada.Text_IO.Put_Line (Table.Dump_As_String);
+```
+
+
+Contributing
+------------
+
+The development of `ada-toml` happens on
+[GitHub](https://github.com/pmderodat/ada-toml). Everyone is welcome to
+contribute to this project: please read our [contribution
+rules](https://github.com/pmderodat/ada-toml/tree/master/CONTRIBUTING.rst) if
+you consider doing so.
+
+
diff --git a/_crates/ada_voxel_space_demo.md b/_crates/ada_voxel_space_demo.md
new file mode 100644
index 00000000..693932e3
--- /dev/null
+++ b/_crates/ada_voxel_space_demo.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "ada_voxel_space_demo"
+authors: []
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["MIT"]
+websites: []
+tags: []
+version: "1.0.1"
+short_description: "Voxel Space render engine demo in Ada"
+dependencies: [{crate: "sdlada", version: "^2.3.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/adabots.md b/_crates/adabots.md
new file mode 100644
index 00000000..5b5446a8
--- /dev/null
+++ b/_crates/adabots.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "adabots"
+authors: ["Tama McGlinn"]
+maintainers: ["Tama McGlinn "]
+licenses: ["MIT"]
+websites: []
+tags: ["learn",
+"ada",
+"minecraft",
+"computercraft",
+"robots",
+"teach",
+"children"]
+version: "1.7.0"
+short_description: "Learn Ada by programming Minecraft robots"
+dependencies: [{crate: "utilada_curl", version: "^2.5.0"},
+{crate: "json", version: "^5.0.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/adacl.md b/_crates/adacl.md
new file mode 100644
index 00000000..40e1b03b
--- /dev/null
+++ b/_crates/adacl.md
@@ -0,0 +1,51 @@
+---
+layout: crate
+crate: "adacl"
+authors: ["Martin Krischik "]
+maintainers: ["Martin Krischik "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://sourceforge.net/projects/adacl/"]
+tags: ["library",
+"command-line",
+"trace",
+"logging",
+"string",
+"aunit",
+"assert",
+"container",
+"smart-pointer",
+"ada2022"]
+version: "5.15.1"
+short_description: "Ada Class Library"
+dependencies: [{crate: "gnat", version: ">=12 & <2000"}]
+configuration_variables: []
+configuration_values: []
+
+---
+A class library for Ada for those who like OO programming.
+
+Currently the following functionality is migrated to Ada 2022:
+
+* Getopt commandline argument parser
+* String utilities
+* Trace utility
+* Smart pointer
+ * Reference counted
+ * Unique pointer
+ * Shared pointer
+* AUnit compatible informative asserts
+ * generic for arrays types
+ * generic for discrete types
+ * generic for access types
+
+See [GNATdoc](https://adacl.sourceforge.net/gnatdoc/adacl/index.html) for details.
+
+Development versions and testsuite available using the follwowing index:
+
+```sh
+alr index --add "git+https://github.com/krischik/alire-index.git#develop" --name krischik
+```
+
+Source code and testsuite available on [SourceForge](https://git.code.sf.net/p/adacl/git)
+
+
diff --git a/_crates/adayaml.md b/_crates/adayaml.md
new file mode 100644
index 00000000..df0abd95
--- /dev/null
+++ b/_crates/adayaml.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "adayaml"
+authors: ["Felix Krause"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["MIT"]
+websites: ["https://ada.yaml.io/"]
+tags: []
+version: "0.3.0"
+short_description: "Experimental YAML 1.3 implementation in Ada"
+dependencies: [{crate: "simple_components", version: "^4.27"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/adl_middleware.md b/_crates/adl_middleware.md
new file mode 100644
index 00000000..5da71520
--- /dev/null
+++ b/_crates/adl_middleware.md
@@ -0,0 +1,32 @@
+---
+layout: crate
+crate: "adl_middleware"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/AdaCore/Ada_Drivers_Library/"]
+tags: ["embedded",
+"nostd",
+"fat",
+"bitmap"]
+version: "0.2.0"
+short_description: "Middleware layer of the Ada Drivers Library project"
+dependencies: [{crate: "hal", version: "~0.3.0"}]
+configuration_variables: [{name: 'Max_Mount_Name_Length', type: 'Integer range 1 .. 9223372036854775807', default: "128"},
+{name: 'Max_Mount_Points', type: 'Integer range 1 .. 9223372036854775807', default: "2"},
+{name: 'Max_Path_Length', type: 'Integer range 1 .. 9223372036854775807', default: "1024"}]
+configuration_values: []
+
+---
+# adl_middleware
+
+Middleware layer of the Ada Drivers Library project.
+
+This crate is a snapshot of the `middleware` of [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/tree/master/middleware).
+
+Any bug report, issue, contribution must be adressed to the [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/) repo.
+
+
+
diff --git a/_crates/admpfr.md b/_crates/admpfr.md
new file mode 100644
index 00000000..76cb6581
--- /dev/null
+++ b/_crates/admpfr.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "admpfr"
+authors: ["Laurent Thévenoux"]
+maintainers: ["Laurent Thévenoux "]
+licenses: ["GPL-3.0-only"]
+websites: ["https://github.com/thvnx/admpfr"]
+tags: ["mpfr",
+"floating-point",
+"bindings"]
+version: "4.1.0+20220920"
+short_description: "Ada bindings for MPFR"
+dependencies: [{crate: "gnat", version: ">=12 & <2000"},
+{crate: "libmpfr", version: "^4.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ado.md b/_crates/ado.md
new file mode 100644
index 00000000..f9a42646
--- /dev/null
+++ b/_crates/ado.md
@@ -0,0 +1,52 @@
+---
+layout: crate
+crate: "ado"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-ado"]
+tags: ["database",
+"uml",
+"sql"]
+version: "2.4.0"
+short_description: "Ada Database Objects (Core library)"
+dependencies: [{crate: "utilada", version: "^2.6.0"},
+{crate: "utilada_xml", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
+
+Ada Database Objects is an Ada05 library that provides
+object relational mapping to access a database in Ada05.
+The library supports Postgresql, MySQL, SQLite as databases.
+Most of the concepts developped for ADO come from the Java Hibernate ORM.
+
+The ORM uses an YAML, XML mapping file or an UML model, a code generator and a runtime library
+for the implementation. It provides a database driver for [Postgresql](https://www.postgresql.org/),
+[MySQL](https://www.mysql.com/) and [SQLite](https://www.sqlite.org/). The ORM helps your
+application by providing a mapping of your database tables directly in the target programming
+language: Ada05 in our case. The development process is the following:
+
+ * You design your database model either using a UML tool or by writing a YAML or XML description,
+ * You generate the Ada05 mapping files by using the [Dynamo](https://github.com/stcarrez/dynamo) code generator,
+ * You generate the SQL database tables by using the same tool,
+ * You write your application on top of the generated code that gives you direct and simplified access to your database.
+
+![ADO Development model](https://github.com/stcarrez/ada-ado/wiki/images/ado-orm.png)
+
+You need at least one of these databases (or all of then). The configure script will now
+fail if no supported database was found. Check the [Database Drivers](#database-drivers)
+section to install them and run the configure again after the installation.
+
+# Documentation
+
+ * [Ada Database Objects Programmer's Guide](https://ada-ado.readthedocs.io/en/latest/)
+ * [Persistence with Ada Database Objects](https://fr.slideshare.net/StephaneCarrez1/persistence-with-ada-database-objects-ado) FOSDEM 2019
+
+
+
diff --git a/_crates/ado_all.md b/_crates/ado_all.md
new file mode 100644
index 00000000..486a0099
--- /dev/null
+++ b/_crates/ado_all.md
@@ -0,0 +1,32 @@
+---
+layout: crate
+crate: "ado_all"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-ado"]
+tags: ["database",
+"uml",
+"sql",
+"mysql",
+"mariadb",
+"sqlite",
+"postgresql"]
+version: "2.4.0"
+short_description: "Ada Database Objects (All drivers)"
+dependencies: [{crate: "ado_mysql", version: "^2.4.0"},
+{crate: "ado_postgresql", version: "^2.4.0"},
+{crate: "ado_sqlite", version: "^2.4.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
+
+This crate give access to the PostgreSQL, MySQL and SQLite drivers for the Ada Database Objects library.
+
+
+
diff --git a/_crates/ado_mysql.md b/_crates/ado_mysql.md
new file mode 100644
index 00000000..0746c4b6
--- /dev/null
+++ b/_crates/ado_mysql.md
@@ -0,0 +1,29 @@
+---
+layout: crate
+crate: "ado_mysql"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-ado"]
+tags: ["database",
+"uml",
+"sql",
+"mysql",
+"mariadb"]
+version: "2.4.0"
+short_description: "Ada Database Objects (Mysql)"
+dependencies: [{crate: "ado", version: "^2.4.0"},
+{crate: "libmariadb", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
+
+This is the MySQL driver for the Ada Database Objects library.
+
+
+
diff --git a/_crates/ado_postgresql.md b/_crates/ado_postgresql.md
new file mode 100644
index 00000000..9de96d87
--- /dev/null
+++ b/_crates/ado_postgresql.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "ado_postgresql"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-ado"]
+tags: ["database",
+"uml",
+"sql",
+"postgresql"]
+version: "2.4.0"
+short_description: "Ada Database Objects (PostgreSQL)"
+dependencies: [{crate: "ado", version: "^2.4.0"},
+{crate: "libpq", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
+
+This is the PostgreSQL driver for the Ada Database Objects library.
+
+
+
diff --git a/_crates/ado_sqlite.md b/_crates/ado_sqlite.md
new file mode 100644
index 00000000..9971c588
--- /dev/null
+++ b/_crates/ado_sqlite.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "ado_sqlite"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-ado"]
+tags: ["database",
+"uml",
+"sql",
+"sqlite"]
+version: "2.4.0"
+short_description: "Ada Database Objects (SQLite)"
+dependencies: [{crate: "ado", version: "^2.4.0"},
+{crate: "libsqlite3", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-ado/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-ado/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-ado/badge/?version=latest)](https://ada-ado.readthedocs.io/en/latest/?badge=latest)
+
+This is the SQLite driver for the Ada Database Objects library.
+
+
+
diff --git a/_crates/aflex.md b/_crates/aflex.md
new file mode 100644
index 00000000..dd721282
--- /dev/null
+++ b/_crates/aflex.md
@@ -0,0 +1,38 @@
+---
+layout: crate
+crate: "aflex"
+authors: ["John Self"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Unlicense"]
+websites: ["https://github.com/Ada-France/aflex"]
+tags: ["parser",
+"generator",
+"grammar"]
+version: "1.6.0"
+short_description: "An Ada Lexical Analyzer Generator"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Aflex is a lexical analyzer generating tool similar to the Unix tool lex.
+
+The first implementation was written by John Self of the Arcadia project
+at the University of California, Irvine. The last version that was released
+appeared to be the aflex 1.4a released in 1994.
+
+Aflex was used and improved by P2Ada, the Pascal to Ada translator.
+This version of Aflex is derived from the P2Ada aflex implementation
+released in August 2010.
+
+This version brings a number of improvements:
+
+- Aflex generates the spec and body files as separate files so that
+ there is no need to use gnatchop to split the DFA and IO files.
+- Aflex uses the lex file name to generate the package name and
+ it supports child package with the `%unit` directive.
+- Aflex supports reentrant scanner through the use of `%option reentrant`,
+ `%yyvar` and `%yydecl` directives.
+
+
+
diff --git a/_crates/agpl.md b/_crates/agpl.md
new file mode 100644
index 00000000..081a3205
--- /dev/null
+++ b/_crates/agpl.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "agpl"
+authors: ["alejandro@mosteo.com"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["LGPL-3.0-only"]
+websites: []
+tags: []
+version: "1.0.0"
+short_description: "Ada General Purpose Library with a robotics flavor"
+dependencies: [{crate: "libgsl", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/aicwl.md b/_crates/aicwl.md
new file mode 100644
index 00000000..d6da8299
--- /dev/null
+++ b/_crates/aicwl.md
@@ -0,0 +1,49 @@
+---
+layout: crate
+crate: "aicwl"
+authors: ["Dmitry A. Kazakov "]
+maintainers: ["Vinzent \"Jellix\" Saranen "]
+licenses: ["GPL-2.0-or-later WITH GCC-exception-2.0"]
+websites: ["http://www.dmitry-kazakov.de/ada/aicwl.htm"]
+tags: ["widgets",
+"gauge",
+"graphics",
+"ui",
+"gtk"]
+version: "3.24.1"
+short_description: "Ada Industrial Control Widgets Library"
+dependencies: [{crate: "gtkada", version: ">=17"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This crate provides a library for designing high-quality industrial control
+widgets for Ada applications. The software is based on
+[GtkAda](https://docs.adacore.com/live/wave/gtkada/html/gtkada_rm/index.html),
+Ada bindings to [Gtk+](https://www.gtk.org/), and
+[cairo](https://www.cairographics.org/manual/index.html).
+
+The key features of the library are:
+
+* Widgets composed of transparent layers drawn by cairo
+* Fully scalable graphics
+* Support of time controlled refresh policy for real-time and heavy-duty applications
+* Caching graphical operations
+* Stream I/O support for serialization and deserialization
+* Ready-to-use gauge, meter, oscilloscope widgets
+* Editor widget for WYSIWYG design of complex dashboards
+
+For further information, visit the
+[AICWL website](http://www.dmitry-kazakov.de/ada/aicwl.htm).
+
+Maintainer's note:
+
+This Alire crate is packaged in a rather minimalistic way to keep dependencies
+on external libraries at a minimum. The crate's definition covers the core
+functionality of AICWL, though, so it should be sufficient for most needs.
+
+For example, the original distribution has references to
+[Simple Components](http://www.dmitry-kazakov.de/ada/components.htm) which are
+not strictly necessary for the core functionality of the library.
+
+
diff --git a/_crates/ajunitgen.md b/_crates/ajunitgen.md
new file mode 100644
index 00000000..94211c6c
--- /dev/null
+++ b/_crates/ajunitgen.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "ajunitgen"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["LGPL-3.0-only"]
+websites: []
+tags: ["junit",
+"xml"]
+version: "1.0.1"
+short_description: "Generator of JUnit-compatible XML reports"
+dependencies: [{crate: "xml_ez_out", version: "^1.6"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/akt.md b/_crates/akt.md
new file mode 100644
index 00000000..66929be5
--- /dev/null
+++ b/_crates/akt.md
@@ -0,0 +1,64 @@
+---
+layout: crate
+crate: "akt"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-keystore"]
+tags: ["security",
+"storage",
+"nosql"]
+version: "1.4.0"
+short_description: "Ada Keystore Tool"
+dependencies: [{crate: "keystoreada", version: "^1.4.0"},
+{crate: "utilada", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-keystore/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-keystore/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-keystore/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-keystore/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-keystore/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-keystore/summary)
+
+# Overview
+
+AKT is a tool to store and protect your sensitive information and documents by
+encrypting them in secure keystore (AES-256, HMAC-256).
+
+Create the keystore and protect it with a gpg public key:
+```
+ akt create secure.akt --gpg ...
+```
+
+Store a small content:
+```
+ akt set secure.akt bank.password 012345
+```
+
+Store files, directory or a tar file:
+```
+ akt store secure.akt notes.txt
+ akt store secure.akt contract.doc
+ akt store secure.akt directory
+ tar czf - . | akt store secure.akt -- backup
+```
+
+Edit a content with your $EDITOR:
+```
+ akt edit secure.akt bank.password
+ akt edit secure.akt notes.txt
+```
+
+Get a content:
+```
+ akt get secure.akt bank.password
+ akt extract secure.akt contract.doc
+ akt extract secure.akt -- backup | tar xzf -
+```
+
+## Documents
+
+* [Ada Keystore Guide](https://ada-keystore.readthedocs.io/en/latest/) [PDF](https://github.com/stcarrez/ada-keystore/blob/master/docs/keystore-book.pdf)
+
+
+
diff --git a/_crates/anagram.md b/_crates/anagram.md
new file mode 100644
index 00000000..9c5610e0
--- /dev/null
+++ b/_crates/anagram.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "anagram"
+authors: ["Maxim Reznik"]
+maintainers: ["Maxim Reznik "]
+licenses: ["MIT"]
+websites: ["https://github.com/reznikmm/anagram"]
+tags: ["grammar",
+"syntax",
+"analysis",
+"bnf",
+"ebnf",
+"generator"]
+version: "1.0.0"
+short_description: "Grammar handling and parser generation Ada library"
+dependencies: [{crate: "matreshka_league", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ansiada.md b/_crates/ansiada.md
new file mode 100644
index 00000000..bcff0556
--- /dev/null
+++ b/_crates/ansiada.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "ansiada"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["MIT"]
+websites: []
+tags: ["ansi",
+"terminal"]
+version: "1.0.0"
+short_description: "ANSI escape sequences"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/apdf.md b/_crates/apdf.md
new file mode 100644
index 00000000..5e42eeb0
--- /dev/null
+++ b/_crates/apdf.md
@@ -0,0 +1,48 @@
+---
+layout: crate
+crate: "apdf"
+authors: ["Gautier de Montmollin"]
+maintainers: ["gdemont@hotmail.com"]
+licenses: ["MIT"]
+websites: ["https://apdf.sourceforge.io/"]
+tags: ["pdf",
+"adobe"]
+version: "6.0.0"
+short_description: "Portable package for producing dynamically PDF documents"
+dependencies: [{crate: "gid", version: ">=9.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+**PDF_Out** is an Ada package for producing easily and automatically PDF files, from an Ada program, with text, vector graphics and raster graphics.
+
+![Ada PDF Screenshot](https://apdf.sourceforge.io/pw_ari_parcel_m.png "Screenshot of a page produced by PDF_Out")
+
+* Ideal for the dynamic production of reports, invoices, tickets, charts, maps etc.
+* Vector graphics
+* Inclusion of JPEG images
+* Object oriented
+* Task safe
+* Endian-neutral
+* Multi-platform, but native code build
+* Standalone (no dependency on other libraires, bindings, etc.; no extra component needed for running)
+* Unconditionally portable code: OS-, CPU-, compiler- independent code
+* Pure Ada 95: this package can be used in projects in Ada 95, Ada 2005, Ada 2012 and later language versions
+* Free, open-source
+
+The creation of a PDF file is as simple as this small procedure:
+
+```ada
+with PDF_Out;
+
+procedure Small_Demo is
+ pdf : PDF_Out.PDF_Out_File;
+begin
+ pdf.Create ("small.pdf");
+ pdf.Put_Line ("This is a very small demo for PDF_Out...");
+ pdf.Close;
+end Small_Demo;
+```
+
+
+
diff --git a/_crates/are.md b/_crates/are.md
new file mode 100644
index 00000000..898497d7
--- /dev/null
+++ b/_crates/are.md
@@ -0,0 +1,51 @@
+---
+layout: crate
+crate: "are"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/resource-embedder"]
+tags: ["resource",
+"embedder",
+"generator"]
+version: "1.3.0"
+short_description: "Advanced Resource Embedder"
+dependencies: [{crate: "elada", version: "^1.8.6"},
+{crate: "utilada", version: "^2.6.0"},
+{crate: "xmlada", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/resource-embedder/badges/build.json)](https://porion.vacs.fr/porion/projects/view/resource-embedder)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/resource-embedder/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/resource-embedder)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/resource-embedder/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/resource-embedder)
+[![Documentation Status](https://readthedocs.org/projects/resource-embedder/badge/?version=latest)](https://resource-embedder.readthedocs.io/en/latest/?badge=latest)
+
+The resource embedder allows to embed files in binaries by producing C, Ada or Go source
+files that contain the original files.
+
+To generate a `config.ads` and `config.adb` Ada package with the resources, you may use:
+
+```
+are --lang=Ada -o src --resource=config --name-access --fileset='**/*.conf' config
+```
+
+Complex resource integrations are best described with and XML and are generated with:
+
+```
+are --lang=Ada -o src --rule=package.xml --name-access .
+```
+
+For Ada, it generates the following package declaration with the `Get_Content` function
+that gives access to the files. The Ada body contains the content of each embedded file.
+
+```Ada
+package Config is
+ function Get_Content (Name : in String)
+ return access constant String;
+end Config;
+```
+
+
+
diff --git a/_crates/asfml.md b/_crates/asfml.md
new file mode 100644
index 00000000..9c7770ac
--- /dev/null
+++ b/_crates/asfml.md
@@ -0,0 +1,43 @@
+---
+layout: crate
+crate: "asfml"
+authors: ["Manuel Gomez",
+"Dan Lee Vazquez Garcia"]
+maintainers: ["Manuel Gomez "]
+licenses: ["custom-zlib-acknowledgement"]
+websites: ["https://mgrojo.github.io/ASFML/"]
+tags: ["audio",
+"games",
+"opengl",
+"cross-platform",
+"multimedia",
+"binding",
+"graphics",
+"sfml"]
+version: "2.5.4"
+short_description: "An Ada binding to SFML, the Simple and Fast Multimedia Library"
+dependencies: [{crate: "libcsfml", version: "^2.5"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![ASFML logo](https://raw.githubusercontent.com/mgrojo/ASFML/master/images/ASFML_Logo.svg)](https://www.sfml-dev.org)
+![Ada (GNAT)](https://github.com/mgrojo/ASFML/workflows/Ada%20(GNAT)/badge.svg)
+[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/ada-lang/Lobby)
+[![Mentioned in Awesome Ada](https://awesome.re/mentioned-badge.svg)](https://github.com/ohenley/awesome-ada)
+
+ASFML is an Ada semi-thick binding to the
+[SFML](https://www.sfml-dev.org/) library. It uses Ada types and
+portable defined types which eliminates the inclusion of Ada interface
+libraries, but most of the functions are directly imported.
+
+# Documentation
+Generated API documentation can be consulted [online](https://mgrojo.github.io/ASFML/doc/).
+
+The Ada API follows the [CSFML](https://26.customprotocol.com/csfml/index.htm) interface, but
+with some changes and additions for ease of use.
+
+Applicability of the [SFML documentation](https://www.sfml-dev.org/learn.php) is usually straightforward.
+
+
+
diff --git a/_crates/ashell.md b/_crates/ashell.md
new file mode 100644
index 00000000..dd109440
--- /dev/null
+++ b/_crates/ashell.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "ashell"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: ["https://github.com/charlie5/aShell"]
+tags: ["spawn",
+"os",
+"command",
+"process",
+"directories"]
+version: "1.3.0"
+short_description: "Allows running and interacting with OS programs."
+dependencies: [{crate: "florist_blady", version: "6.0.0"},
+{crate: "gcc", version: "11.2.4"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Useful for writing shell-like applications or applications which start, stop and interact with spawned OS programs.
+
diff --git a/_crates/asis.md b/_crates/asis.md
new file mode 100644
index 00000000..b6b9eeff
--- /dev/null
+++ b/_crates/asis.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "asis"
+authors: ["AdaCore"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["GPL-3.0-only"]
+websites: ["https://www.adacore.com/download/more"]
+tags: []
+version: "2019.0.0"
+short_description: "Ada Semantic Interface Specification or ASIS (library part)"
+dependencies: [{crate: "gnat", version: "=2019"},
+{crate: "make", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/atari_atr_tools.md b/_crates/atari_atr_tools.md
new file mode 100644
index 00000000..e327dccf
--- /dev/null
+++ b/_crates/atari_atr_tools.md
@@ -0,0 +1,61 @@
+---
+layout: crate
+crate: "atari_atr_tools"
+authors: ["Martin Krischik "]
+maintainers: ["Martin Krischik "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://sourceforge.net/projects/tutorial-6502"]
+tags: ["atari",
+"tools",
+"retrocomputing",
+"ada-2022"]
+version: "1.5.0"
+short_description: "Atari / SIO2PC tools for ATR-files"
+dependencies: [{crate: "adacl", version: "^5.15.1"},
+{crate: "gnat", version: ">=12 & <2000"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This is a tool to analyse, create and convert ATR files.
+
+ATR files are used by various Atari 8bit emulators and hardware add ons. Currently implemented
+
+# Print Header
+
+```sh
+>atr_tools-main --print-header test-DD-DS-80.atr
+File name : test-DD-DS-80.atr
+Magic : 16#296#
+Paragraphs : 46056
+Sector size : 256
+Flags : 2#1#
+Bad Sectors : 0
+Unused : 16#0#
+Sectors : 2880
+Bytes : 736896
+Boot Sectors : true
+
+Floppy disk double density, double sided, 80 track
+```
+
+# Create Floppy image
+
+```sh
+>atr_tools-main --verbose --format-floppy --density=DD --side=SS --track=80 test-DD-SS-80.atr
+File created : test-DD-SS-80.atr
+Sector size : 256
+Sector per track : 18
+Tracks per side : 80
+Sides per disk : 1
+```
+
+Development versions available with:
+
+```sh
+alr index --add "git+https://github.com/krischik/alire-index.git#develop" --name krischik
+```
+
+Source code and testsuite available on [SourceForge](https://git.code.sf.net/p/tutorial-6502/git)
+
+
diff --git a/_crates/atari_exe_tools.md b/_crates/atari_exe_tools.md
new file mode 100644
index 00000000..29d6dab5
--- /dev/null
+++ b/_crates/atari_exe_tools.md
@@ -0,0 +1,60 @@
+---
+layout: crate
+crate: "atari_exe_tools"
+authors: ["Martin Krischik"]
+maintainers: ["Martin Krischik "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://sourceforge.net/projects/tutorial-6502"]
+tags: ["atari",
+"tools",
+"retrocomputing",
+"ada-2022"]
+version: "1.5.0"
+short_description: "Atari tools for for handling EXE-files"
+dependencies: [{crate: "adacl", version: "^5.15.1"},
+{crate: "gnat", version: ">=12 & <2000"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This is a tool to analyse Atari 8 bit EXE files.
+
+# Print Header
+
+```sh
+>exe_tools-main --print-header ./test/share/atari_check_exe_test/HELLO_C.EXE"
+File: ./test/share/atari_check_exe_test/HELLO_C.EXE
+Magic: $FFFF; Start: $2E00; End: $2EF5; Length: 246
+Magic: $0000; Start: $02E2; End: $02E3; Length: 2; Init: $2E47
+Magic: $0000; Start: $2400; End: $28DE; Length: 1247
+Magic: $0000; Start: $02E0; End: $02E1; Length: 2; Run: $2401
+```
+
+# Print Data
+
+```sh
+--print-data ./test/share/atari_check_exe_test/HELLO_A.EXE"
+File: ./test/share/atari_check_exe_test/HELLO_A.EXE
+2400: 60 60 A2 00 A9 0B 9D 42 03 A9 3F 9D 44 03 A9 24
+2410: 9D 45 03 A9 2E 9D 48 03 A9 00 9D 49 03 20 56 E4
+2420: A2 00 A9 07 9D 42 03 A9 6D 9D 44 03 A9 24 9D 45
+2430: 03 A9 01 9D 48 03 A9 00 9D 49 03 20 56 E4 60 48
+2440: 65 6C 6C 6F 20 57 6F 72 6C 64 21 9B 28 75 73 69
+2450: 6E 67 20 61 20 65 78 65 63 75 74 61 62 6C 65 20
+2460: 69 6E 20 61 73 73 65 6D 62 65 72 29 9B 00
+02E0: 02 24
+Run: $2402
+>exe_tools-main
+```
+
+The ATASCII part of the hexdump has been removed as Alire is not UTF8 compatible.
+
+Development versions and testsuite available using the follwowing index:
+
+```sh
+alr index --add "git+https://github.com/krischik/alire-index.git#develop" --name krischik
+```
+
+Source code including AUnit tests available on [SourceForge](https://git.code.sf.net/p/tutorial-6502/git)
+
+
diff --git a/_crates/atomic.md b/_crates/atomic.md
new file mode 100644
index 00000000..bb101170
--- /dev/null
+++ b/_crates/atomic.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "atomic"
+authors: ["Fabien Chouteau"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT"]
+websites: ["https://github.com/Fabien-Chouteau/atomic"]
+tags: ["atomic",
+"spark",
+"embedded",
+"nostd"]
+version: "0.5.0"
+short_description: "Standalone Ada/SPARK bindings to GCC atomic built-ins"
+dependencies: []
+configuration_variables: [{name: 'Backend', type: 'Enum (Intrinsic, armv6m, rp2040_spinlock)', default: "Intrinsic"},
+{name: 'RP2040_Spinlock_ID', type: 'Integer range 0 .. 31', default: "31"}]
+configuration_values: []
+
+---
+
+
diff --git a/_crates/audio_base.md b/_crates/audio_base.md
new file mode 100644
index 00000000..19ada2b6
--- /dev/null
+++ b/_crates/audio_base.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "audio_base"
+authors: ["Gustavo A. Hoffmann"]
+maintainers: ["gusthoff@gusthoff.com"]
+licenses: ["MIT"]
+websites: ["https://github.com/Ada-Audio/audio_base"]
+tags: ["audio",
+"riff"]
+version: "1.0.0"
+short_description: "Basic Ada packages for audio applications"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+# Audio Base
+This crate contains basic Ada packages for audio applications.
+
+
diff --git a/_crates/audio_wavefiles.md b/_crates/audio_wavefiles.md
new file mode 100644
index 00000000..5e11af63
--- /dev/null
+++ b/_crates/audio_wavefiles.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "audio_wavefiles"
+authors: ["Gustavo A. Hoffmann"]
+maintainers: ["gusthoff@gusthoff.com"]
+licenses: ["MIT"]
+websites: ["https://github.com/Ada-Audio/audio_wavefiles"]
+tags: ["audio",
+"riff",
+"wavefiles"]
+version: "2.0.0"
+short_description: "Ada Wavefile Library"
+dependencies: [{crate: "audio_base", version: "^1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Ada Wavefile Library
+This crate contains Ada packages for wavefile I/O.
+
+
diff --git a/_crates/aunit.md b/_crates/aunit.md
new file mode 100644
index 00000000..02d04025
--- /dev/null
+++ b/_crates/aunit.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "aunit"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: []
+tags: ["unit",
+"test",
+"unit-test"]
+version: "23.0.0"
+short_description: "Ada unit test framework"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/automate.md b/_crates/automate.md
new file mode 100644
index 00000000..d405d3cf
--- /dev/null
+++ b/_crates/automate.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "automate"
+authors: ["Pascal Pignard"]
+maintainers: ["Pascal Pignard "]
+licenses: ["CECILL-2.1"]
+websites: ["https://github.com/Blady-Com/Automate"]
+tags: ["automaton",
+"generator"]
+version: "2.2.2"
+short_description: "Ada finite-state machine generator"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/avltrees.md b/_crates/avltrees.md
new file mode 100644
index 00000000..8a2f3fe6
--- /dev/null
+++ b/_crates/avltrees.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "avltrees"
+authors: ["Lev Kujawski"]
+maintainers: ["Lev Kujawski "]
+licenses: ["LGPL-3.0-or-later"]
+websites: ["https://github.com/lkujaw/avltrees"]
+tags: ["ada1987",
+"data-structures"]
+version: "0.1.0"
+short_description: "Threaded AVL trees library for Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/avrada_examples.md b/_crates/avrada_examples.md
new file mode 100644
index 00000000..7665469e
--- /dev/null
+++ b/_crates/avrada_examples.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "avrada_examples"
+authors: ["Rolf Ebert"]
+maintainers: ["Rolf Ebert "]
+licenses: ["GPL-2.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://sourceforge.net/projects/avr-ada/"]
+tags: ["avr",
+"embedded",
+"demo"]
+version: "1.0.1"
+short_description: "Sample applications in Ada for AVR microcontrollers"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/avrada_lib.md b/_crates/avrada_lib.md
new file mode 100644
index 00000000..a9df8a16
--- /dev/null
+++ b/_crates/avrada_lib.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "avrada_lib"
+authors: ["Rolf Ebert"]
+maintainers: ["Rolf Ebert "]
+licenses: ["GPL-2.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://sourceforge.net/projects/avr-ada/"]
+tags: ["avr",
+"embedded",
+"drivers"]
+version: "2.1.0"
+short_description: "Library of drivers for AVR microcontrollers"
+dependencies: [{crate: "avrada_mcu", version: "^2.1"},
+{crate: "avrada_rts", version: "^2.0.1"},
+{crate: "gnat_avr_elf", version: "^11 | ^12.2"}]
+configuration_variables: [{name: 'Process_Timing_Events_In_Ticks', type: 'Boolean', default: "false"},
+{name: 'UART_Receive_Mode', type: 'Enum (polled, interrupt)', default: "polled"}]
+configuration_values: []
+
+---
+
+
diff --git a/_crates/avrada_mcu.md b/_crates/avrada_mcu.md
new file mode 100644
index 00000000..6a917fa1
--- /dev/null
+++ b/_crates/avrada_mcu.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "avrada_mcu"
+authors: ["Rolf Ebert"]
+maintainers: ["Rolf Ebert "]
+licenses: ["GPL-2.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://sourceforge.net/projects/avr-ada/"]
+tags: ["avr",
+"embedded",
+"rts"]
+version: "2.2.0"
+short_description: "Device (MCU) specific definitions for AVR microcontrollers"
+dependencies: [{crate: "avrada_rts", version: "^2.0.1"},
+{crate: "gnat_avr_elf", version: "^11 | ^12.2"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/avrada_rts.md b/_crates/avrada_rts.md
new file mode 100644
index 00000000..ed6c012a
--- /dev/null
+++ b/_crates/avrada_rts.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "avrada_rts"
+authors: ["Adacore",
+"Rolf Ebert"]
+maintainers: ["Rolf Ebert "]
+licenses: ["GPL-2.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://sourceforge.net/projects/avr-ada/"]
+tags: ["avr",
+"embedded",
+"rts"]
+version: "2.0.1"
+short_description: "Minimal run time system (RTS) for AVR 8bit controllers"
+dependencies: [{crate: "gnat_avr_elf", version: "^11 | ^12.2"}]
+configuration_variables: [{name: 'AVR_MCU', type: 'String', default: "atmega328p"},
+{name: 'Clock_Frequency', type: 'Integer range 0 .. 9223372036854775807', default: "0"},
+{name: 'Sec_Stack_Size', type: 'Integer range 0 .. 1024', default: "63"}]
+configuration_values: []
+
+---
+
+
diff --git a/_crates/awa.md b/_crates/awa.md
new file mode 100644
index 00000000..d323e8b7
--- /dev/null
+++ b/_crates/awa.md
@@ -0,0 +1,62 @@
+---
+layout: crate
+crate: "awa"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-awa"]
+tags: ["web",
+"users",
+"jobs",
+"wiki",
+"framework",
+"storage",
+"blog"]
+version: "2.4.0"
+short_description: "Ada Web Application"
+dependencies: [{crate: "ado", version: "^2.3.0"},
+{crate: "elada", version: "^1.8.5"},
+{crate: "keystoreada", version: "^1.3.3"},
+{crate: "security", version: "^1.4.1"},
+{crate: "serverfaces", version: "^1.5.0"},
+{crate: "servletada", version: "^1.6.0"},
+{crate: "servletada_aws", version: "^1.6.0"},
+{crate: "utilada", version: "^2.5.0"},
+{crate: "utilada_aws", version: "^2.5.0"},
+{crate: "utilada_xml", version: "^2.5.0"},
+{crate: "wikiada", version: "^1.4.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/jenkins/s/https/jenkins.vacs.fr/Bionic-AWA.svg)](https://jenkins.vacs.fr/job/Bionic-AWA/)
+[![Test Status](https://img.shields.io/jenkins/t/https/jenkins.vacs.fr/Bionic-AWA.svg)](https://jenkins.vacs.fr/job/Bionic-AWA/)
+[![codecov](https://codecov.io/gh/stcarrez/ada-awa/branch/master/graph/badge.svg)](https://codecov.io/gh/stcarrez/ada-awa)
+[![Documentation Status](https://readthedocs.org/projects/ada-awa/badge/?version=latest)](https://ada-awa.readthedocs.io/en/latest/?badge=latest)
+
+Ada Web Application is a framework to build a Web Application in Ada 2012.
+The framework provides several ready to use and extendable modules that are common
+to many web application. This includes the login, authentication, users, permissions,
+managing comments, tags, votes, documents, images. It provides a complete blog,
+question and answers and a wiki module.
+
+AWA simplifies the Web Application development by taking care of user management with
+Google+, Facebook authentication and by providing the foundations on top of which you
+can construct your own application. AWA provides a powerful permission management
+that gives flexibility to applications to grant access and protect your user's resources.
+
+![AWA Features](https://github.com/stcarrez/ada-awa/wiki/images/awa-features.png)
+
+# Documentation
+
+The Ada Web Application programmer's guide describes how to setup the framework,
+how you can setup and design your first web application with it,
+and it provides detailed description of AWA components:
+
+ * [Ada Web Application programmer's guide](https://ada-awa.readthedocs.io/en/latest/) [PDF](https://github.com/stcarrez/ada-awa/blob/master/awa/docs/awa-book.pdf)
+ * [Ada Database Objects Programmer's Guide](https://ada-ado.readthedocs.io/en/latest/)
+ * [Ada Security Programmer's Guide](https://ada-security.readthedocs.io/en/latest/)
+ * [Ada Utility Library Programmer's Guide](https://ada-util.readthedocs.io/en/latest/)
+
+
+
diff --git a/_crates/awa_unit.md b/_crates/awa_unit.md
new file mode 100644
index 00000000..e31cbde1
--- /dev/null
+++ b/_crates/awa_unit.md
@@ -0,0 +1,37 @@
+---
+layout: crate
+crate: "awa_unit"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-awa"]
+tags: ["web",
+"users",
+"jobs",
+"framework",
+"testing"]
+version: "2.4.0"
+short_description: "Ada Web Application (Testing framework)"
+dependencies: [{crate: "awa", version: "^2.4.0"},
+{crate: "serverfaces_unit", version: "^1.5.0"},
+{crate: "servletada_unit", version: "^1.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/jenkins/s/https/jenkins.vacs.fr/Bionic-AWA.svg)](https://jenkins.vacs.fr/job/Bionic-AWA/)
+[![Test Status](https://img.shields.io/jenkins/t/https/jenkins.vacs.fr/Bionic-AWA.svg)](https://jenkins.vacs.fr/job/Bionic-AWA/)
+[![codecov](https://codecov.io/gh/stcarrez/ada-awa/branch/master/graph/badge.svg)](https://codecov.io/gh/stcarrez/ada-awa)
+[![Documentation Status](https://readthedocs.org/projects/ada-awa/badge/?version=latest)](https://ada-awa.readthedocs.io/en/latest/?badge=latest)
+
+Ada Web Application is a framework to build a Web Application in Ada 2012.
+The framework provides several ready to use and extendable modules that are common
+to many web application. This includes the login, authentication, users, permissions,
+managing comments, tags, votes, documents, images. It provides a complete blog,
+question and answers and a wiki module.
+
+This library provides a testing framework on top of AWA top help implementing
+unit tests for AWA applications.
+
+
+
diff --git a/_crates/aws.md b/_crates/aws.md
new file mode 100644
index 00000000..2b9e13d2
--- /dev/null
+++ b/_crates/aws.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "aws"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-only WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/aws"]
+tags: ["aws",
+"web",
+"server",
+"http",
+"https",
+"soap",
+"wsdl",
+"ssl"]
+version: "23.0.0"
+short_description: "Ada Web Server"
+dependencies: [{crate: "gnat", version: ">=12"},
+{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "make", version: "*"},
+{crate: "openssl", version: "*"},
+{crate: "xmlada", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/axmpp.md b/_crates/axmpp.md
new file mode 100644
index 00000000..724326e5
--- /dev/null
+++ b/_crates/axmpp.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "axmpp"
+authors: ["Alexander Basov",
+"Vadim Godunko"]
+maintainers: ["Alexander Basov ",
+"Max Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/coopht/axmpp"]
+tags: ["xmpp",
+"jabber",
+"messaging"]
+version: "1.0.0"
+short_description: "XMPP client library in Ada"
+dependencies: [{crate: "libgnutls", version: "*"},
+{crate: "matreshka_league", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ayacc.md b/_crates/ayacc.md
new file mode 100644
index 00000000..f28a8a03
--- /dev/null
+++ b/_crates/ayacc.md
@@ -0,0 +1,39 @@
+---
+layout: crate
+crate: "ayacc"
+authors: ["David Taback",
+"Deepak Tolani"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Unlicense"]
+websites: ["https://github.com/Ada-France/ayacc"]
+tags: ["parser",
+"generator",
+"grammar"]
+version: "1.4.0"
+short_description: "An Ada LARL(1) parser generator"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Ayacc is an Ada parser generator in the style of yacc(1).
+
+The first implementation was written by David Taback and Deepak Tolani
+at the University of California, Irvine. The last version that was released
+appeared to be the Ayacc 1.1 released in 1994.
+
+Ayacc was used and improved by P2Ada, the Pascal to Ada translator.
+This version of Ayacc is derived from the P2Ada ayacc implementation
+released in August 2010.
+
+This version brings a number of improvements:
+
+- Ayacc now uses more standard options to configure the code generation
+- The parser was improved to configure the parser stack size and
+ support Ada child packages.
+- The grammar supports the %unit directive to control the Ada child packages.
+- Several options provide a better control of the generated code.
+- Ayacc can generate a reentrant parser.
+
+
+
diff --git a/_crates/b2ssum.md b/_crates/b2ssum.md
new file mode 100644
index 00000000..c9837cb0
--- /dev/null
+++ b/_crates/b2ssum.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "b2ssum"
+authors: ["Lev Kujawski"]
+maintainers: ["Lev Kujawski "]
+licenses: ["MIT-0"]
+websites: ["https://github.com/lkujaw/blake2s"]
+tags: ["ada1995",
+"hash",
+"blake2",
+"blake2s"]
+version: "0.1.3"
+short_description: "BLAKE2s file hash utility"
+dependencies: [{crate: "blake2s", version: "~0.1.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/bar_codes.md b/_crates/bar_codes.md
new file mode 100644
index 00000000..e2de4613
--- /dev/null
+++ b/_crates/bar_codes.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "bar_codes"
+authors: ["Gautier de Montmollin"]
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["MIT"]
+websites: []
+tags: ["bar",
+"code",
+"qr",
+"code128"]
+version: "2.0.0"
+short_description: "Generate various types of bar codes on different output formats"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/basalt.md b/_crates/basalt.md
new file mode 100644
index 00000000..987f88ff
--- /dev/null
+++ b/_crates/basalt.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "basalt"
+authors: []
+maintainers: ["kliemann@adacore.com"]
+licenses: ["AGPL-3.0-only"]
+websites: []
+tags: ["embedded",
+"nostd",
+"queue",
+"spark",
+"stack",
+"string",
+"utils"]
+version: "0.3.0"
+short_description: "Collection of formally verified building blocks"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/base64.md b/_crates/base64.md
new file mode 100644
index 00000000..92e197f8
--- /dev/null
+++ b/_crates/base64.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "base64"
+authors: ["Anton Fediushin"]
+maintainers: ["Anton Fediushin "]
+licenses: ["ISC"]
+websites: ["https://github.com/AntonMeep/base64"]
+tags: ["base64"]
+version: "1.0.1"
+short_description: "Base64 encoding/decoding routines"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/bb_pico_bsp.md b/_crates/bb_pico_bsp.md
new file mode 100644
index 00000000..53a9d616
--- /dev/null
+++ b/_crates/bb_pico_bsp.md
@@ -0,0 +1,29 @@
+---
+layout: crate
+crate: "bb_pico_bsp"
+authors: ["Fabien Chouteau"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT"]
+websites: ["https://github.com/Fabien-Chouteau/bb_pico_bsp"]
+tags: ["embedded",
+"pico",
+"handheld",
+"featherwing"]
+version: "0.1.0"
+short_description: "Ada BSP for the Keyboard Featherwing + RPI PICO"
+dependencies: [{crate: "embedded_components", version: "~0.1.0"},
+{crate: "lvgl_ada", version: "~0.2.0"},
+{crate: "pico_bsp", version: "^1.0.0"}]
+configuration_variables: []
+configuration_values: [{crate: 'lvgl_ada', settings: [{name: 'Color_16_SWAP', value: "true"},
+{name: 'Density_Per_Inch', value: "50"},
+{name: 'Double_Buffering', value: "true"},
+{name: 'Horizontal_Resolution', value: "320"},
+{name: 'Pixel_Bit_Depth', value: "Pix_16bit"},
+{name: 'Theme_Live_Update', value: "true"},
+{name: 'Vertical_Resolution', value: "240"},
+{name: 'Virtual_Display_Buffer_Size', value: "30720"}]}]
+
+---
+
+
diff --git a/_crates/bbqueue.md b/_crates/bbqueue.md
new file mode 100644
index 00000000..77f0c970
--- /dev/null
+++ b/_crates/bbqueue.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "bbqueue"
+authors: ["Fabien Chouteau"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT"]
+websites: ["https://github.com/Fabien-Chouteau/bbqueue-spark"]
+tags: ["spark",
+"nostd",
+"embedded",
+"lockfree",
+"dma",
+"bipbuffer"]
+version: "0.3.1"
+short_description: "DMA friendly lock-free BipBuffer"
+dependencies: [{crate: "atomic", version: "~0.5"},
+{crate: "gnat", version: ">=10"}]
+configuration_variables: []
+configuration_values: []
+
+---
+An Ada/SPARK proved implementation of James Munns'
+BBQueue (https://github.com/jamesmunns/bbqueue)
+
diff --git a/_crates/bingada.md b/_crates/bingada.md
new file mode 100644
index 00000000..215fa20e
--- /dev/null
+++ b/_crates/bingada.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "bingada"
+authors: ["Javier Fuica Fernández",
+"Manuel Gómez"]
+maintainers: ["Manuel Gómez "]
+licenses: ["MIT"]
+websites: ["https://github.com/jfuica/bingada"]
+tags: ["bingo",
+"game",
+"chance",
+"family",
+"sound",
+"gtk",
+"sfml"]
+version: "1.0.0"
+short_description: "Bingo application in GTKAda with sound in ASFML"
+dependencies: [{crate: "gtkada", version: "^21.0.0"},
+{crate: "asfml", version: "^2.5.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/blake2s.md b/_crates/blake2s.md
new file mode 100644
index 00000000..2e639231
--- /dev/null
+++ b/_crates/blake2s.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "blake2s"
+authors: ["Lev Kujawski"]
+maintainers: ["Lev Kujawski "]
+licenses: ["MIT-0"]
+websites: ["https://github.com/lkujaw/blake2s"]
+tags: ["ada1987",
+"spark",
+"hash",
+"blake2",
+"blake2s"]
+version: "0.1.3"
+short_description: "SPARK83 implementation of the BLAKE2s hash function"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/brackelib.md b/_crates/brackelib.md
new file mode 100644
index 00000000..e4945574
--- /dev/null
+++ b/_crates/brackelib.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "brackelib"
+authors: ["Bent Bracke"]
+maintainers: ["Bent Bracke "]
+licenses: ["CC0-1.0"]
+websites: ["https://github.com/bracke/brackelib"]
+tags: ["utility",
+"adt",
+"stack",
+"queue"]
+version: "0.0.2"
+short_description: "Library which contains various utility packages."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Ada library which contains various utility packages. Currently only a few implementations of abstract data types.
+
diff --git a/_crates/c_strings.md b/_crates/c_strings.md
new file mode 100644
index 00000000..99e6fde7
--- /dev/null
+++ b/_crates/c_strings.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "c_strings"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["LGPL-3.0-only"]
+websites: []
+tags: []
+version: "1.0.0"
+short_description: "Convenience subprograms to interact with C strings"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/canberra_ada.md b/_crates/canberra_ada.md
new file mode 100644
index 00000000..874fcbc4
--- /dev/null
+++ b/_crates/canberra_ada.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "canberra_ada"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/canberra-ada"]
+tags: ["canberra",
+"audio",
+"sound",
+"linux"]
+version: "2.0.2"
+short_description: "Ada 2012 bindings for libcanberra"
+dependencies: [{crate: "libcanberra", version: "~0.30.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/cashe.md b/_crates/cashe.md
new file mode 100644
index 00000000..8b39205f
--- /dev/null
+++ b/_crates/cashe.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "cashe"
+authors: ["AJ Ianozi"]
+maintainers: ["AJ Ianozi "]
+licenses: ["MIT"]
+websites: ["https://github.com/AJ-Ianozi/Cashe/"]
+tags: ["currency",
+"money",
+"decimal",
+"finance"]
+version: "1.0.0"
+short_description: "A fixed-point decimal money library written in Ada."
+dependencies: [{crate: "gnat", version: ">=12 & <2000"},
+{crate: "iso", version: "^2.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/cbsg.md b/_crates/cbsg.md
new file mode 100644
index 00000000..eaf754b9
--- /dev/null
+++ b/_crates/cbsg.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "cbsg"
+authors: ["Gautier de Montmollin"]
+maintainers: ["Frédéric Praca "]
+licenses: ["Apache-2.0"]
+websites: ["http://cbsg.sf.net/"]
+tags: ["text",
+"console"]
+version: "0.0.1"
+short_description: "Corporate Bullshit Generator library"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/chacha20.md b/_crates/chacha20.md
new file mode 100644
index 00000000..129e8f10
--- /dev/null
+++ b/_crates/chacha20.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "chacha20"
+authors: ["Mateus de Lima Oliveira"]
+maintainers: ["Mateus de Lima Oliveira "]
+licenses: ["MIT"]
+websites: ["https://ativarsoft.com"]
+tags: ["chacha20",
+"security",
+"cryptography"]
+version: "0.1.0"
+short_description: "ChaCha20 implementation in Ada."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/chests.md b/_crates/chests.md
new file mode 100644
index 00000000..555e9a17
--- /dev/null
+++ b/_crates/chests.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "chests"
+authors: ["Jeremy Grosser"]
+maintainers: ["Jeremy Grosser "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/JeremyGrosser/chests"]
+tags: ["containers",
+"bounded",
+"nostd",
+"embedded"]
+version: "0.1.1"
+short_description: "Chests are bounded containers"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/clic.md b/_crates/clic.md
new file mode 100644
index 00000000..e1a5ffaa
--- /dev/null
+++ b/_crates/clic.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "clic"
+authors: ["Alejandro R. Mosteo",
+"Fabien Chouteau"]
+maintainers: ["alejandro@mosteo.com",
+"Fabien Chouteau "]
+licenses: ["MIT AND GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/alire-project/clic"]
+tags: ["cli",
+"command-line",
+"user-input",
+"tty"]
+version: "0.2.1"
+short_description: "Command Line Interface Components"
+dependencies: [{crate: "aaa", version: "~0.2.4"},
+{crate: "ada_toml", version: "~0.2|~0.3"},
+{crate: "ansiada", version: "^1.0"},
+{crate: "simple_logging", version: "^1.2.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Command Line Interface Components:
+ - "git like" subcommand handling
+ - TTY color and formatting
+ - User input queries
+ - User configuration
+
+
diff --git a/_crates/cmd_ada.md b/_crates/cmd_ada.md
new file mode 100644
index 00000000..156cb600
--- /dev/null
+++ b/_crates/cmd_ada.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "cmd_ada"
+authors: ["Henrik Härkönen"]
+maintainers: ["Henrik Härkönen "]
+licenses: ["Apache-2.0"]
+websites: []
+tags: ["ui",
+"command-line"]
+version: "0.0.1"
+short_description: "Command based text UI, inspired by Python cmd module"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/cobs.md b/_crates/cobs.md
new file mode 100644
index 00000000..af23eefd
--- /dev/null
+++ b/_crates/cobs.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "cobs"
+authors: ["Daniel King"]
+maintainers: ["Daniel King "]
+licenses: ["MIT"]
+websites: ["https://github.com/damaki/cobs"]
+tags: ["cobs",
+"spark",
+"embedded",
+"nostd"]
+version: "1.1.0"
+short_description: "Consistent Overhead Byte Stuffing (COBS) encoder/decoder"
+dependencies: [{crate: "gnat", version: ">=11.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/cortex_m.md b/_crates/cortex_m.md
new file mode 100644
index 00000000..c4c37ad0
--- /dev/null
+++ b/_crates/cortex_m.md
@@ -0,0 +1,31 @@
+---
+layout: crate
+crate: "cortex_m"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/AdaCore/Ada_Drivers_Library/"]
+tags: ["embedded",
+"arm",
+"nostd"]
+version: "0.5.0"
+short_description: "Drivers for Cortex-M micro-controllers (NVIC, SysTick, etc.)"
+dependencies: [{crate: "gnat_arm_elf", version: ">=12"},
+{crate: "hal", version: "~0.3"}]
+configuration_variables: [{name: 'core', type: 'Enum (m0, m0p, m4, m4f, m7f, m7df)'}]
+configuration_values: []
+
+---
+# cortex-m
+
+Ada drivers for the peripherals of ARM Cortex-M micro-controllers
+(NVIC,\nSysTick, etc.)
+
+This crate is a snapshot of the `Cortex-M` support in [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/tree/master/arch/ARM/cortex_m).
+
+Any bug report, issue, contribution must be adressed to the [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/) repo.
+
+
+
diff --git a/_crates/curl.md b/_crates/curl.md
new file mode 100644
index 00000000..187f2a1a
--- /dev/null
+++ b/_crates/curl.md
@@ -0,0 +1 @@
+Not found: curl*
diff --git a/_crates/dashera.md b/_crates/dashera.md
new file mode 100644
index 00000000..6ca7f865
--- /dev/null
+++ b/_crates/dashera.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "dashera"
+authors: ["Stephen Merrony"]
+maintainers: ["Stephen Merrony "]
+licenses: ["MIT"]
+websites: ["https://github.com/SMerrony/dashera"]
+tags: ["gtk",
+"terminal",
+"dasher",
+"emulator"]
+version: "0.14.0"
+short_description: "DASHER Terminal Emulator"
+dependencies: [{crate: "gtkada", version: "^23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/dcf.md b/_crates/dcf.md
new file mode 100644
index 00000000..d4cb1237
--- /dev/null
+++ b/_crates/dcf.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "dcf"
+authors: ["onox",
+"Gautier de Montmollin"]
+maintainers: ["onox "]
+licenses: ["MIT"]
+websites: ["https://github.com/onox/dcf-ada"]
+tags: ["zip",
+"document",
+"container",
+"archive"]
+version: "2.0.3"
+short_description: "Ada 2012 library for document container files, Zip-based archive files"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/dependency_graph_extractor.md b/_crates/dependency_graph_extractor.md
new file mode 100644
index 00000000..3c23076e
--- /dev/null
+++ b/_crates/dependency_graph_extractor.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "dependency_graph_extractor"
+authors: ["Jeroen Ketema",
+"Pierre van de Laar"]
+maintainers: ["Pierre van de Laar "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/TNO/Dependency_Graph_Extractor-Ada"]
+tags: ["extract",
+"dependency",
+"analysis",
+"graph",
+"graphml"]
+version: "22.0.0"
+short_description: "Extract dependency information from Ada projects"
+dependencies: [{crate: "libadalang", version: "^22.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/dg_loada.md b/_crates/dg_loada.md
new file mode 100644
index 00000000..5a33d18b
--- /dev/null
+++ b/_crates/dg_loada.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "dg_loada"
+authors: ["Stephen Merrony"]
+maintainers: ["Stephen Merrony "]
+licenses: ["MIT"]
+websites: ["https://github.com/SMerrony/dg_loada"]
+tags: ["legacy",
+"recovering-data",
+"dg",
+"data-general",
+"aos-vs"]
+version: "1.4.3"
+short_description: "dg_loada loads (restores) legacy DG AOS/VS DUMP_II files"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+dg_loada loads (restores) backup files created by Data General's AOS/VS DUMP_II, and maybe DUMP_III, files on any modern system supported by GNAT Ada.
+
diff --git a/_crates/dir_iterators.md b/_crates/dir_iterators.md
new file mode 100644
index 00000000..8a4ea461
--- /dev/null
+++ b/_crates/dir_iterators.md
@@ -0,0 +1,76 @@
+---
+layout: crate
+crate: "dir_iterators"
+authors: ["Paul Jarrett"]
+maintainers: ["Paul Jarrett "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/pyjarrett/dir_iterators"]
+tags: ["dir",
+"files",
+"walk"]
+version: "0.0.4"
+short_description: "Ways of moving around directory trees"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://github.com/pyjarrett/dir_iterators/actions/workflows/build.yml/badge.svg)](https://github.com/pyjarrett/dir_iterators/actions)
+[![Alire](https://img.shields.io/endpoint?url=https://alire.ada.dev/badges/dir_iterators.json)](https://alire.ada.dev/crates/dir_iterators.html)
+
+## Iterator-based directory walks
+
+Provides convenient ways to walk directories based on Ada 2012 user-defined
+iterators.
+
+Inspired by [walkdir for Rust](https://github.com/BurntSushi/walkdir).
+
+
+## Walking a directory tree recursively
+
+```ada
+with Ada.Directories;
+with Ada.Text_IO;
+with Dir_Iterators.Recursive;
+
+-- ...
+
+Dir_Walk : constant Dir_Iterators.Recursive.Recursive_Dir_Walk
+ := Dir_Iterators.Recursive.Walk (Dir);
+
+for Dir_Entry of Dir_Walk loop
+ Ada.Text_IO.Put_Line(Ada.Directories.Full_Name(Dir_Entry));
+end loop;
+```
+
+## Walking a directory tree recursively with a filter
+
+Use a filter to prune directories and files from the walk.
+
+```ada
+with Ada.Directories;
+with Ada.Text_IO;
+with Dir_Iterators.Recursive;
+
+package AD renames Ada.Directories;
+
+-- ...
+
+ procedure Foo (Include_Dot_Files : Boolean; Dir_Root : String) is
+ function Filter (E : Ada.Directories.Directory_Entry_Type) return Boolean is
+ Name : constant String := Ada.Directories.Simple_Name(E);
+ begin
+ return Include_Dot_Files
+ or else (not (Name'Length > 1 and then Name(1) = '.'));
+ end Filter;
+
+ Walk : constant Dir_Iterators.Recursive.Recursive_Dir_Walk :=
+ Dir_Iterators.Recursive.Walk (Dir_Root, Filter'Access);
+ begin
+ for Dir_Entry of Walk loop
+ Ada.Text_IO.Put_Line(Ada.Directories.Full_Name(Dir_Entry));
+ end loop;
+ end Foo;
+```
+
+
diff --git a/_crates/dotenv.md b/_crates/dotenv.md
new file mode 100644
index 00000000..92233513
--- /dev/null
+++ b/_crates/dotenv.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "dotenv"
+authors: ["Heziode"]
+maintainers: ["Heziode "]
+licenses: ["BSD-2-Clause"]
+websites: ["https://github.com/Heziode/ada-dotenv"]
+tags: ["dotenv",
+"env",
+"environment",
+"variables",
+"config",
+"settings"]
+version: "1.0.0"
+short_description: "Loads environment variables from .env for Ada projects."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/dummyserver.md b/_crates/dummyserver.md
new file mode 100644
index 00000000..e3fb6da2
--- /dev/null
+++ b/_crates/dummyserver.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "dummyserver"
+authors: ["Bent Bracke"]
+maintainers: ["Bent Bracke "]
+licenses: ["CC0-1.0"]
+websites: ["https://github.com/bracke/dummyserver"]
+tags: ["http",
+"server",
+"test",
+"terminal",
+"console"]
+version: "1.0.0"
+short_description: "DummyServer is a terminal program that serves dummy content"
+dependencies: [{crate: "json", version: "^5.0.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+DummyServer is a terminal program that serves dummy content (resources). These resources are defined in a single JSON configuration and configuration is thus very simple and fast. The prime purpose of DummyServer is to serve content to test client applications.
+
diff --git a/_crates/dynamo.md b/_crates/dynamo.md
new file mode 100644
index 00000000..f2ae5679
--- /dev/null
+++ b/_crates/dynamo.md
@@ -0,0 +1,40 @@
+---
+layout: crate
+crate: "dynamo"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/dynamo"]
+tags: ["uml",
+"generator",
+"database"]
+version: "1.4.0"
+short_description: "Dynamo Ada Generator"
+dependencies: [{crate: "ado_all", version: "2.4.0"},
+{crate: "ado_mysql", version: "2.4.0"},
+{crate: "ado_postgresql", version: "2.4.0"},
+{crate: "ado_sqlite", version: "2.4.0"},
+{crate: "elada", version: "^1.8.6"},
+{crate: "libgpr", version: "*"},
+{crate: "security", version: "^1.5.0"},
+{crate: "serverfaces", version: "1.6.0"},
+{crate: "servletada", version: "^1.7.0"},
+{crate: "utilada", version: "^2.6.0"},
+{crate: "utilada_xml", version: "^2.6.0"},
+{crate: "xmlada", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/dynamo/badges/build.json)](https://porion.vacs.fr/porion/projects/view/dynamo/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/dynamo/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/dynamo/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/dynamo/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/dynamo/summary)
+
+This Ada05 application is a code generator used to generate
+an Ada Web Application or database mappings from hibernate-like
+XML description, YAML doctrine model or UML models. It provides various commands for the
+generation of a web application which uses the Ada Web Application framework
+(https://gitlab.com/stcarrez/ada-awa/).
+
+
+
diff --git a/_crates/eagle_lander.md b/_crates/eagle_lander.md
new file mode 100644
index 00000000..f55d4a69
--- /dev/null
+++ b/_crates/eagle_lander.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "eagle_lander"
+authors: []
+maintainers: ["fabien.choutea@gmail.com"]
+licenses: ["GPL-3.0-only"]
+websites: []
+tags: ["simulator",
+"game",
+"gtk"]
+version: "1.2.0"
+short_description: "Apollo 11 lunar lander simulator"
+dependencies: [{crate: "gtkada", version: "^21"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/edc_client.md b/_crates/edc_client.md
new file mode 100644
index 00000000..6ff1ade6
--- /dev/null
+++ b/_crates/edc_client.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "edc_client"
+authors: ["Holger Rodriguez"]
+maintainers: ["Holger Rodriguez "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/hgrodriguez/edc_client"]
+tags: ["embedded",
+"rp2040"]
+version: "1.5.1"
+short_description: "Client library for: github.com/hgrodriguez/embedded-dashboard-console"
+dependencies: [{crate: "hal", version: "~0.3.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/eeprom_i2c.md b/_crates/eeprom_i2c.md
new file mode 100644
index 00000000..c38b4f49
--- /dev/null
+++ b/_crates/eeprom_i2c.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "eeprom_i2c"
+authors: ["Holger Rodriguez"]
+maintainers: ["Holger Rodriguez "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/hgrodriguez/eeprom_i2c"]
+tags: ["embedded",
+"nostd",
+"eeprom",
+"rp2040",
+"i2c"]
+version: "6.0.0"
+short_description: "EEPROM I2C drivers library for embedded platforms"
+dependencies: [{crate: "hal", version: "~0.3.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/elada.md b/_crates/elada.md
new file mode 100644
index 00000000..97b0f2c3
--- /dev/null
+++ b/_crates/elada.md
@@ -0,0 +1,38 @@
+---
+layout: crate
+crate: "elada"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-el"]
+tags: ["web",
+"expression",
+"expander",
+"parser"]
+version: "1.8.6"
+short_description: "Expression Language Library (JSR245)"
+dependencies: [{crate: "utilada", version: "^2.5.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-el/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-el/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-el/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-el/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-el/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-el/summary)
+
+This Ada05 library provides the support for a simple Expression Language
+close to the Java Unified Expression Language (EL).
+
+The API provided by the EL library is inspired from the Java
+Unified Expression Language shared by the JSP 2.1 and JSF 1.2 technologies.
+See Expression Language specification in JSR245
+(https://jcp.org/en/jsr/summary?id=245)
+
+The EL expression is intensively used in web development applications built
+on top of various Java technologies but also on top of
+[Ada Web Application](https://gitlab.com/stcarrez/ada-awa)
+and [Ada Server Faces](https://gitlab.com/stcarrez/ada-asf).
+
+
+
+
diff --git a/_crates/elevator.md b/_crates/elevator.md
new file mode 100644
index 00000000..2e0dc959
--- /dev/null
+++ b/_crates/elevator.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "elevator"
+authors: ["Thai Son Hoang"]
+maintainers: ["Thai Son Hoang "]
+licenses: ["CC-BY-SA-4.0"]
+websites: ["https://github.com/ada-Soton/elevator"]
+tags: ["elevator",
+"teaching"]
+version: "1.0.0"
+short_description: "A Simple Elevator System"
+dependencies: [{crate: "gnatprove", version: "^12.1.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/emacs_ada_mode.md b/_crates/emacs_ada_mode.md
new file mode 100644
index 00000000..365aa745
--- /dev/null
+++ b/_crates/emacs_ada_mode.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "emacs_ada_mode"
+authors: ["Stephen Leake"]
+maintainers: ["Stephen Leake "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://www.nongnu.org/ada-mode/"]
+tags: ["emacs",
+"ada-mode"]
+version: "8.0.5"
+short_description: "Parser for Emacs ada-mode"
+dependencies: [{crate: "emacs_wisi", version: "~4.2.0"},
+{crate: "gnat", version: "(>=11 & <2000) | >=2021"},
+{crate: "re2c", version: ">=2.0.3"},
+{crate: "stephes_ada_library", version: "~3.7.2"},
+{crate: "wisitoken", version: "~4.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/emacs_gpr_mode.md b/_crates/emacs_gpr_mode.md
new file mode 100644
index 00000000..4c4e323e
--- /dev/null
+++ b/_crates/emacs_gpr_mode.md
@@ -0,0 +1,29 @@
+---
+layout: crate
+crate: "emacs_gpr_mode"
+authors: ["Stephen Leake"]
+maintainers: ["Stephen Leake "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://elpa.gnu.org/packages/gpr-mode.html"]
+tags: ["indent",
+"highlight",
+"parser",
+"gpr",
+"emacs"]
+version: "1.0.3"
+short_description: "parser for Emacs gpr mode"
+dependencies: [{crate: "emacs_wisi", version: "~4.2.0"},
+{crate: "gnat", version: "(>=11 & <2000) | >=2021"},
+{crate: "re2c", version: ">=2.2"},
+{crate: "stephes_ada_library", version: "~3.7.2"},
+{crate: "wisitoken", version: "~4.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Generalized LR error-correcting parser generated using WisiToken,
+interfaced to Emacs via the wisi package.
+
+Provides semantic highlighting, indent, single-file navigation.
+
+
diff --git a/_crates/emacs_gpr_query.md b/_crates/emacs_gpr_query.md
new file mode 100644
index 00000000..794c3d37
--- /dev/null
+++ b/_crates/emacs_gpr_query.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "emacs_gpr_query"
+authors: ["Stephen Leake"]
+maintainers: ["Stephen Leake "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://elpa.gnu.org/packages/gpr-query.html"]
+tags: ["emacs",
+"xref"]
+version: "1.0.1"
+short_description: "Emacs xref backend using information output by GNAT compiler."
+dependencies: [{crate: "gnat", version: ">=11 & <2000"},
+{crate: "gnatcoll", version: "^22.0.0"},
+{crate: "gnatcoll_sqlite", version: "^22.0.0"},
+{crate: "gnatcoll_xref", version: "^22.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/emacs_wisi.md b/_crates/emacs_wisi.md
new file mode 100644
index 00000000..07ef4954
--- /dev/null
+++ b/_crates/emacs_wisi.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "emacs_wisi"
+authors: ["Stephen Leake"]
+maintainers: ["Stephen Leake "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://elpa.gnu.org/packages/wisi.html"]
+tags: ["emacs",
+"indent",
+"project",
+"compile",
+"xref"]
+version: "4.2.0"
+short_description: "Ada code for Emacs wisi ELPA package"
+dependencies: [{crate: "gnat", version: "(>=11 & <2000) | >=2021"},
+{crate: "stephes_ada_library", version: "~3.7.2"},
+{crate: "wisitoken", version: "~4.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/emacs_wisitoken_grammar_mode.md b/_crates/emacs_wisitoken_grammar_mode.md
new file mode 100644
index 00000000..b8309c0a
--- /dev/null
+++ b/_crates/emacs_wisitoken_grammar_mode.md
@@ -0,0 +1,29 @@
+---
+layout: crate
+crate: "emacs_wisitoken_grammar_mode"
+authors: ["Stephen Leake"]
+maintainers: ["Stephen Leake "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://elpa.gnu.org/packages/wisitoken-grammar-mode.html"]
+tags: ["indent",
+"highlight",
+"parser",
+"emacs"]
+version: "1.3.0"
+short_description: "parser for Emacs wisitoken-grammar mode"
+dependencies: [{crate: "emacs_wisi", version: "~4.2.0"},
+{crate: "gnat", version: "(>=11 & <2000) | >=2021"},
+{crate: "re2c", version: ">=2.2"},
+{crate: "stephes_ada_library", version: "~3.7.2"},
+{crate: "wisitoken", version: "~4.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Generalized LR error-correcting parser for WisiToken grammar source
+files, generated using WisiToken, interfaced to Emacs via the wisi
+package.
+
+Provides semantic highlighting, indent, single-file navigation.
+
+
diff --git a/_crates/embedded_components.md b/_crates/embedded_components.md
new file mode 100644
index 00000000..36a70d6a
--- /dev/null
+++ b/_crates/embedded_components.md
@@ -0,0 +1,29 @@
+---
+layout: crate
+crate: "embedded_components"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/AdaCore/Ada_Drivers_Library/"]
+tags: ["embedded",
+"nostd"]
+version: "0.2.0"
+short_description: "Platform agnostic drivers to interface external components"
+dependencies: [{crate: "adl_middleware", version: "~0.2.0"},
+{crate: "hal", version: "~0.3.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# embedded-components
+
+Platform agnostic drivers to interface external components.
+
+This crate is a snapshot of the `components` of [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/tree/master/components).
+
+Any bug report, issue, contribution must be adressed to the [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/) repo.
+
+
+
diff --git a/_crates/emojis.md b/_crates/emojis.md
new file mode 100644
index 00000000..10d4c207
--- /dev/null
+++ b/_crates/emojis.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "emojis"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/emojis"]
+tags: ["emoji",
+"string",
+"text",
+"unicode"]
+version: "1.0.1"
+short_description: "A library to replace names between colons with emojis"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/endianness.md b/_crates/endianness.md
new file mode 100644
index 00000000..1fb0b9b4
--- /dev/null
+++ b/_crates/endianness.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "endianness"
+authors: ["Anton Fediushin"]
+maintainers: ["Anton Fediushin "]
+licenses: ["ISC"]
+websites: ["https://github.com/AntonMeep/endianness"]
+tags: ["spark",
+"endianness",
+"system"]
+version: "1.0.0"
+short_description: "Convenience subprograms to convert between Big- and Little-endianness"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/epoll.md b/_crates/epoll.md
new file mode 100644
index 00000000..ac3e5237
--- /dev/null
+++ b/_crates/epoll.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "epoll"
+authors: ["Jeremy Grosser"]
+maintainers: ["Jeremy Grosser "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/JeremyGrosser/epoll-ada"]
+tags: ["linux",
+"epoll",
+"net"]
+version: "0.1.1"
+short_description: "Linux epoll binding"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/esp_idf.md b/_crates/esp_idf.md
new file mode 100644
index 00000000..e2e6026b
--- /dev/null
+++ b/_crates/esp_idf.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "esp_idf"
+authors: []
+maintainers: ["jk@jkliemann.de"]
+licenses: ["MIT"]
+websites: []
+tags: ["embedded",
+"nostd",
+"esp",
+"binding",
+"riscv",
+"xtensa"]
+version: "5.0.2-1"
+short_description: "Ada binding for the ESP-IDF SDK"
+dependencies: [{crate: "hal", version: "~0.3.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/euler_tools.md b/_crates/euler_tools.md
new file mode 100644
index 00000000..cad2997d
--- /dev/null
+++ b/_crates/euler_tools.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "euler_tools"
+authors: ["Francesc Rocher"]
+maintainers: ["Francesc Rocher "]
+licenses: ["MIT"]
+websites: ["https://github.com/rocher/euler_tools"]
+tags: ["project-euler",
+"mathematics"]
+version: "1.2.1"
+short_description: "Assortment of mathematical functions to solve Project Euler problems."
+dependencies: [{crate: "gnat", version: ">=2021 | (>=12 & <2000)"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/evdev.md b/_crates/evdev.md
new file mode 100644
index 00000000..6792ec19
--- /dev/null
+++ b/_crates/evdev.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "evdev"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/evdev-ada"]
+tags: ["evdev",
+"force-feedback",
+"linux",
+"input"]
+version: "2.0.2"
+short_description: "Library for input devices and force-feedback using Linux' evdev API"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ews.md b/_crates/ews.md
new file mode 100644
index 00000000..a7f9ab44
--- /dev/null
+++ b/_crates/ews.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "ews"
+authors: ["Simon Wright "]
+maintainers: ["Simon Wright "]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/simonjwright/ews"]
+tags: ["web",
+"server"]
+version: "1.11.0"
+short_description: "Embedded Web Server"
+dependencies: [{crate: "xmlada", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+EWS is a web server construction kit, designed for embedded
+applications using the GNAT Ada compiler.
+
+The project is hosted at https://github.com/simonjwright/ews.
+
+
+
diff --git a/_crates/excel_writer.md b/_crates/excel_writer.md
new file mode 100644
index 00000000..7aaf46e8
--- /dev/null
+++ b/_crates/excel_writer.md
@@ -0,0 +1,27 @@
+---
+layout: crate
+crate: "excel_writer"
+authors: ["Gautier de Montmollin"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["MIT"]
+websites: ["https://excel-writer.sourceforge.io/"]
+tags: ["excel",
+"spreadsheet",
+"xls",
+"csv"]
+version: "18.0.0"
+short_description: "Produce Excel spreadsheets"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Excel_Out is a standalone, portable Ada package for writing Excel spreadsheets with basic formattings, easily and programmatically.
+
+Enables the automatic production of reports.
+
+No interaction needed with Excel or MS Office.
+
+Includes a CSV parser with related tools.
+
+
diff --git a/_crates/fastpbkdf2_ada.md b/_crates/fastpbkdf2_ada.md
new file mode 100644
index 00000000..2cb83f67
--- /dev/null
+++ b/_crates/fastpbkdf2_ada.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "fastpbkdf2_ada"
+authors: ["Anton Fediushin"]
+maintainers: ["Anton Fediushin "]
+licenses: ["ISC"]
+websites: ["https://github.com/AntonMeep/fastpbkdf2_ada"]
+tags: ["pbkdf2",
+"cryptography"]
+version: "2.0.0"
+short_description: "Binding and an Ada wrapper to fastpbkdf2"
+dependencies: [{crate: "openssl", version: "~1.1.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/felix.md b/_crates/felix.md
new file mode 100644
index 00000000..965e41a5
--- /dev/null
+++ b/_crates/felix.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "felix"
+authors: ["Lev Kujawski"]
+maintainers: ["Lev Kujawski "]
+licenses: ["MIT-0"]
+websites: ["https://github.com/lkujaw/felix"]
+tags: ["ada1995",
+"i18n",
+"nls",
+"localization",
+"localisation",
+"l10n"]
+version: "0.2.0"
+short_description: "X/Open Native Language System (NLS) for Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/florist.md b/_crates/florist.md
new file mode 100644
index 00000000..ba9a73be
--- /dev/null
+++ b/_crates/florist.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "florist_blady"
+authors: ["Florida State University (FSU)",
+"AdaCore"]
+maintainers: ["Pascal Pignard "]
+licenses: ["GPL-3.0-only"]
+websites: ["https://github.com/Blady-Com/florist"]
+tags: ["florist",
+"posix",
+"bindings"]
+version: "6.0.0"
+short_description: "POSIX Ada Bindings"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/florist_blady.md b/_crates/florist_blady.md
new file mode 100644
index 00000000..ba9a73be
--- /dev/null
+++ b/_crates/florist_blady.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "florist_blady"
+authors: ["Florida State University (FSU)",
+"AdaCore"]
+maintainers: ["Pascal Pignard "]
+licenses: ["GPL-3.0-only"]
+websites: ["https://github.com/Blady-Com/florist"]
+tags: ["florist",
+"posix",
+"bindings"]
+version: "6.0.0"
+short_description: "POSIX Ada Bindings"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/freetypeada.md b/_crates/freetypeada.md
new file mode 100644
index 00000000..2edb84a6
--- /dev/null
+++ b/_crates/freetypeada.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "freetypeada"
+authors: ["Felix Krause"]
+maintainers: ["Felix Krause "]
+licenses: ["MIT"]
+websites: ["https://github.com/flyx/FreeTypeAda"]
+tags: ["fonts",
+"rendering"]
+version: "0.1.0"
+short_description: "Thick binding to the FreeType library"
+dependencies: [{crate: "libfreetype", version: "^2"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/garlic.md b/_crates/garlic.md
new file mode 100644
index 00000000..e65193e2
--- /dev/null
+++ b/_crates/garlic.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "garlic"
+authors: ["AdaCore"]
+maintainers: ["Max Reznik "]
+licenses: ["GPL-2.0-or-later WITH GCC-exception-2.0"]
+websites: ["https://github.com/reznikmm/garlic/wiki"]
+tags: ["dsa",
+"distributed",
+"annex",
+"network",
+"glade"]
+version: "6.0.1"
+short_description: "GNAT Library for Ada Distributed Environment (garlic)"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/geo_coords.md b/_crates/geo_coords.md
new file mode 100644
index 00000000..51b6e045
--- /dev/null
+++ b/_crates/geo_coords.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "geo_coords"
+authors: ["Saiffullah Sabir Mohamed"]
+maintainers: ["Saiffullah Sabir Mohamed "]
+licenses: ["MIT"]
+websites: ["https://github.com/TechnicalVillager/geo_coords"]
+tags: ["geo",
+"coordinates",
+"latitude",
+"longitude",
+"distance",
+"bearing",
+"haversine"]
+version: "1.0.0"
+short_description: "Geo coordinates calculation for determining Location, Distance, Bearing"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/geste.md b/_crates/geste.md
new file mode 100644
index 00000000..16aabb16
--- /dev/null
+++ b/_crates/geste.md
@@ -0,0 +1,70 @@
+---
+layout: crate
+crate: "geste"
+authors: ["Fabien Chouteau "]
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/Fabien-Chouteau/GESTE"]
+tags: ["game",
+"nostd",
+"rendering",
+"sprite"]
+version: "1.1.0"
+short_description: "GEneric Sprite and Tile Engine"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+[![Build Status](https://travis-ci.org/Fabien-Chouteau/GESTE.svg?branch=master)](https://travis-ci.org/Fabien-Chouteau/GESTE)
+[![codecov](https://codecov.io/gh/Fabien-Chouteau/GESTE/branch/master/graph/badge.svg)](https://codecov.io/gh/Fabien-Chouteau/GESTE)
+
+GESTE is a sprite and tile 2D render engine designed to run on
+micro-controllers low performance systems. GESTE also provides a basic math and
+physic engine using fixed point arithmetic.
+
+## Creating maps
+
+GESTE is developed in parallel with
+[tiled-code-gen](https://github.com/Fabien-Chouteau/tiled-code-gen), a tool
+that generates code from the [Tiled Map Editor](https://www.mapeditor.org/).
+
+## Examples
+
+The crate `geste_examples` contains 3 examples of different game genre:
+ - platformer
+ - RPG
+ - racing
+
+## Design
+
+### Layers
+
+In GESTE, a scene is made of layers. Native layers can be `Sprite`, `Grid` or
+`Text`. You can implement you own type of layers if you want to.
+
+ - `Sprite` layers display a single tile at a given position
+ - `Grid` layers display a grid of tiles at a given position
+ - `Text` layers display a text at a given position
+
+Layers have a priority which tells in which order they will be drawn on the
+screen.
+
+### Rendering
+
+The rendering algorithm is somewhat similar to ray casting. Instead of taking
+each objects of the scene and drawing it on the screen, the engine takes each
+pixel and tries to find its color from the different objects of the scene.
+
+For each pixel of the area that is being drawn, GESTE will go through the list
+of layers and see if the corresponding pixel inside the layer is transparent or
+not. When a non transparent pixel is found, the pixel is pushed to the screen
+and the procedure starts again for the next pixel. If all the layers have a
+transparent pixel, the background color is used.
+
+The more layers to go through, the more time time it will take to render a
+pixel.
+
+
+
diff --git a/_crates/geste_examples.md b/_crates/geste_examples.md
new file mode 100644
index 00000000..4c995abd
--- /dev/null
+++ b/_crates/geste_examples.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "geste_examples"
+authors: ["Fabien Chouteau "]
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/Fabien-Chouteau/GESTE-examples"]
+tags: []
+version: "1.0.1"
+short_description: "Example for the GESTE game engine"
+dependencies: [{crate: "geste", version: "^1.0.0"},
+{crate: "sdlada", version: "^2.3.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/get_password.md b/_crates/get_password.md
new file mode 100644
index 00000000..5e9fc56f
--- /dev/null
+++ b/_crates/get_password.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "get_password"
+authors: ["Riccardo Bernardini"]
+maintainers: ["Riccardo Bernardini "]
+licenses: ["MIT"]
+websites: ["https://gitlab.com/my-ada-library/get_password"]
+tags: ["password",
+"echo",
+"textio"]
+version: "1.0.0-rc"
+short_description: "Read a string without echo, in password-like style"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+This is a small Ada library that provides a procedure Get_Password that reads a string from the terminal replacing each character with a *. The input can be terminated both by the user pressing end-of-line or when the buffer is filled. Currently it works only on POSIX-based system. This version was checked with Spark
+
diff --git a/_crates/getopt.md b/_crates/getopt.md
new file mode 100644
index 00000000..bc2ab77f
--- /dev/null
+++ b/_crates/getopt.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "getopt"
+authors: ["nytpu"]
+maintainers: ["nytpu "]
+licenses: ["MPL-2.0"]
+websites: ["https://git.sr.ht/~nytpu/getopt-ada"]
+tags: ["arguments",
+"options",
+"flags",
+"getopt"]
+version: "2.0.0"
+short_description: "POSIX getopt(3) for Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gid.md b/_crates/gid.md
new file mode 100644
index 00000000..9d24e847
--- /dev/null
+++ b/_crates/gid.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "gid"
+authors: ["Gautier de Montmollin"]
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["MIT"]
+websites: ["https://gen-img-dec.sourceforge.io/"]
+tags: ["image",
+"decoder",
+"bmp",
+"gif",
+"jpeg",
+"jpg",
+"pbm",
+"pgm",
+"png",
+"pnm",
+"ppm",
+"qoi",
+"tga",
+"targa"]
+version: "10.0.0"
+short_description: "Decoding a broad variety of image formats"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/glut.md b/_crates/glut.md
new file mode 100644
index 00000000..ae0b3683
--- /dev/null
+++ b/_crates/glut.md
@@ -0,0 +1 @@
+Not found: glut*
diff --git a/_crates/gnat_arm_elf.md b/_crates/gnat_arm_elf.md
new file mode 100644
index 00000000..6d3f83a8
--- /dev/null
+++ b/_crates/gnat_arm_elf.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gnat_arm_elf"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: []
+tags: []
+version: "13.1.0"
+short_description: "The GNAT Ada compiler - ARM cross-compiler"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnat_avr_elf.md b/_crates/gnat_avr_elf.md
new file mode 100644
index 00000000..b6a287bd
--- /dev/null
+++ b/_crates/gnat_avr_elf.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gnat_avr_elf"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: []
+tags: []
+version: "13.1.0"
+short_description: "The GNAT Ada compiler - AVR cross-compiler"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnat_external.md b/_crates/gnat_external.md
new file mode 100644
index 00000000..b6e2b54a
--- /dev/null
+++ b/_crates/gnat_external.md
@@ -0,0 +1 @@
+Not found: gnat_external*
diff --git a/_crates/gnat_math_extensions.md b/_crates/gnat_math_extensions.md
new file mode 100644
index 00000000..1e1219c1
--- /dev/null
+++ b/_crates/gnat_math_extensions.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "gnat_math_extensions"
+authors: ["Simon Wright"]
+maintainers: ["Simon Wright "]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/simonjwright/gnat_math_extensions"]
+tags: ["matrices",
+"blas",
+"lapack"]
+version: "1.1.0"
+short_description: "Eigenvalues, eigenvectors for non-symmetric, non-Hermitian matrices"
+dependencies: [{crate: "libblas", version: "*"},
+{crate: "liblapack", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnat_native.md b/_crates/gnat_native.md
new file mode 100644
index 00000000..97cd806a
--- /dev/null
+++ b/_crates/gnat_native.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gnat_native"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: []
+tags: []
+version: "13.1.0"
+short_description: "The GNAT Ada compiler - Native"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnat_riscv64_elf.md b/_crates/gnat_riscv64_elf.md
new file mode 100644
index 00000000..939f9861
--- /dev/null
+++ b/_crates/gnat_riscv64_elf.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gnat_riscv64_elf"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later AND GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: []
+tags: []
+version: "13.1.0"
+short_description: "The GNAT Ada compiler - RISC-V cross-compiler"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll.md b/_crates/gnatcoll.md
new file mode 100644
index 00000000..fc3acff9
--- /dev/null
+++ b/_crates/gnatcoll.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "gnatcoll"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-core"]
+tags: ["gnatcoll",
+"json",
+"email",
+"refcount",
+"projects",
+"gpr",
+"vfs"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - Core packages"
+dependencies: [{crate: "libgpr", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_gmp.md b/_crates/gnatcoll_gmp.md
new file mode 100644
index 00000000..58b2953d
--- /dev/null
+++ b/_crates/gnatcoll_gmp.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "gnatcoll_gmp"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-bindings"]
+tags: ["gnatcoll",
+"bindings",
+"gmp",
+"arbitrary",
+"precision",
+"arithmetic"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - GNU Multiple Precision Arithmetic binding"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "libgmp", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_iconv.md b/_crates/gnatcoll_iconv.md
new file mode 100644
index 00000000..127a16d1
--- /dev/null
+++ b/_crates/gnatcoll_iconv.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "gnatcoll_iconv"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-bindings"]
+tags: ["gnatcoll",
+"bindings",
+"iconv",
+"i18n"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - iconv binding"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_lzma.md b/_crates/gnatcoll_lzma.md
new file mode 100644
index 00000000..3391420b
--- /dev/null
+++ b/_crates/gnatcoll_lzma.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "gnatcoll_lzma"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-bindings"]
+tags: ["gnatcoll",
+"bindings",
+"lzma",
+"compression",
+"7z",
+"7zip"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - lzma binding"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "liblzma", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_omp.md b/_crates/gnatcoll_omp.md
new file mode 100644
index 00000000..4e70e8e9
--- /dev/null
+++ b/_crates/gnatcoll_omp.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "gnatcoll_omp"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-bindings"]
+tags: ["gnatcoll",
+"bindings",
+"openmp",
+"libgomp"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - OpenMP binding"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "libgomp", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_postgres.md b/_crates/gnatcoll_postgres.md
new file mode 100644
index 00000000..5f33626f
--- /dev/null
+++ b/_crates/gnatcoll_postgres.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "gnatcoll_postgres"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-db"]
+tags: ["gnatcoll",
+"gnatcoll-db",
+"postgres",
+"postgresql",
+"database"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - postgres"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "gnatcoll_sql", version: "~23.0.0"},
+{crate: "postgresql", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_python.md b/_crates/gnatcoll_python.md
new file mode 100644
index 00000000..3aef8a97
--- /dev/null
+++ b/_crates/gnatcoll_python.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "gnatcoll_python"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-only WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-bindings"]
+tags: ["gnatcoll",
+"bindings",
+"python",
+"python2"]
+version: "21.0.0"
+short_description: "GNAT Components Collection - python2 binding"
+dependencies: [{crate: "gnatcoll", version: "~21.0.0"},
+{crate: "libpython2dev", version: "^2"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_python3.md b/_crates/gnatcoll_python3.md
new file mode 100644
index 00000000..a0124998
--- /dev/null
+++ b/_crates/gnatcoll_python3.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "gnatcoll_python3"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-only WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-bindings"]
+tags: ["gnatcoll",
+"bindings",
+"python",
+"python3"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - python3 binding"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "libpython3dev", version: "^3.10"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_readline.md b/_crates/gnatcoll_readline.md
new file mode 100644
index 00000000..13aba0b3
--- /dev/null
+++ b/_crates/gnatcoll_readline.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "gnatcoll_readline"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-bindings"]
+tags: ["gnatcoll",
+"bindings",
+"readline",
+"cli"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - readline binding"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "libreadline", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_sql.md b/_crates/gnatcoll_sql.md
new file mode 100644
index 00000000..6edb6492
--- /dev/null
+++ b/_crates/gnatcoll_sql.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "gnatcoll_sql"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-db"]
+tags: ["gnatcoll",
+"gnatcoll-db",
+"sql",
+"database"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - sql"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_sqlite.md b/_crates/gnatcoll_sqlite.md
new file mode 100644
index 00000000..584e503e
--- /dev/null
+++ b/_crates/gnatcoll_sqlite.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "gnatcoll_sqlite"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-db"]
+tags: ["gnatcoll",
+"gnatcoll-db",
+"sqlite",
+"sql",
+"database"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - sqlite"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "gnatcoll_sql", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_syslog.md b/_crates/gnatcoll_syslog.md
new file mode 100644
index 00000000..2af05a10
--- /dev/null
+++ b/_crates/gnatcoll_syslog.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "gnatcoll_syslog"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-bindings"]
+tags: ["gnatcoll",
+"bindings",
+"syslog",
+"logging"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - syslog binding"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_xref.md b/_crates/gnatcoll_xref.md
new file mode 100644
index 00000000..59f50702
--- /dev/null
+++ b/_crates/gnatcoll_xref.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "gnatcoll_xref"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-db"]
+tags: ["gnatcoll",
+"database",
+"xref",
+"ali"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - xref"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "gnatcoll_iconv", version: "~23.0.0"},
+{crate: "gnatcoll_sql", version: "~23.0.0"},
+{crate: "gnatcoll_sqlite", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_zlib.md b/_crates/gnatcoll_zlib.md
new file mode 100644
index 00000000..a753d03a
--- /dev/null
+++ b/_crates/gnatcoll_zlib.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "gnatcoll_zlib"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gnatcoll-bindings"]
+tags: ["gnatcoll",
+"bindings",
+"zlib",
+"compression",
+"zip",
+"deflate"]
+version: "23.0.0"
+short_description: "GNAT Components Collection - zlib binding"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "zlib", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcov.md b/_crates/gnatcov.md
new file mode 100644
index 00000000..b11e36e2
--- /dev/null
+++ b/_crates/gnatcov.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "gnatcov"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: []
+websites: []
+tags: ["coverage",
+"analysis",
+"test"]
+version: "22.0.1"
+short_description: "Coverage Analysis Tool"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatdist_garlic.md b/_crates/gnatdist_garlic.md
new file mode 100644
index 00000000..5f2bdc22
--- /dev/null
+++ b/_crates/gnatdist_garlic.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "gnatdist_garlic"
+authors: ["AdaCore"]
+maintainers: ["Max Reznik "]
+licenses: ["GPL-2.0-or-later"]
+websites: ["https://github.com/reznikmm/garlic/wiki"]
+tags: ["dsa",
+"distributed",
+"annex",
+"network",
+"glade"]
+version: "6.0.1"
+short_description: "The configuration tool gnatdist for GARLIC"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatdoc.md b/_crates/gnatdoc.md
new file mode 100644
index 00000000..cb75238d
--- /dev/null
+++ b/_crates/gnatdoc.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "gnatdoc"
+authors: ["AdaCore"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["GPL-3.0-only WITH GCC-exception-3.1"]
+websites: ["https://github.com/AdaCore/gnatdoc"]
+tags: ["documentation",
+"tools"]
+version: "23.0.0"
+short_description: "GNAT Documentation Generation Tool (as `gnatdoc4` binary)"
+dependencies: [{crate: "gpr_unit_provider", version: "~23.0.0"},
+{crate: "libadalang", version: "~23.0.0"},
+{crate: "libgpr2", version: "~23.0.0"},
+{crate: "markdown", version: "~23.0.0"},
+{crate: "vss", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatprove.md b/_crates/gnatprove.md
new file mode 100644
index 00000000..9f6b8d3b
--- /dev/null
+++ b/_crates/gnatprove.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gnatprove"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later"]
+websites: []
+tags: []
+version: "12.1.1"
+short_description: "Automatic formal verification of SPARK code"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnoga.md b/_crates/gnoga.md
new file mode 100644
index 00000000..0a2d93bb
--- /dev/null
+++ b/_crates/gnoga.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "gnoga"
+authors: ["David Botton"]
+maintainers: ["Pascal Pignard "]
+licenses: ["GPL-3.0-only WITH GCC-exception-3.1"]
+websites: ["https://github.com/Blady-Com/gnoga"]
+tags: ["gui",
+"web",
+"server",
+"http",
+"https",
+"ssl"]
+version: "2.1.2"
+short_description: "gnoga - The GNU Omnificent GUI for Ada"
+dependencies: [{crate: "gnat", version: ">=2021 | (>=12 & <2000)"},
+{crate: "simple_components", version: "^4.62.0"},
+{crate: "uxstrings", version: "~0.4.0+alpha-20220803"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gpr_unit_provider.md b/_crates/gpr_unit_provider.md
new file mode 100644
index 00000000..b7c80870
--- /dev/null
+++ b/_crates/gpr_unit_provider.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "gpr_unit_provider"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: []
+tags: []
+version: "23.0.0"
+short_description: "GNAT Project File Library"
+dependencies: [{crate: "libadalang", version: "~23.0.0"},
+{crate: "libgpr2", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gprbuild.md b/_crates/gprbuild.md
new file mode 100644
index 00000000..5c6082e9
--- /dev/null
+++ b/_crates/gprbuild.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gprbuild"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: []
+websites: []
+tags: []
+version: "22.0.1"
+short_description: "The GPRBuild Ada/multilanguage build tool"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gtkada.md b/_crates/gtkada.md
new file mode 100644
index 00000000..d17dd251
--- /dev/null
+++ b/_crates/gtkada.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "gtkada"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com",
+"reznikmm@gmail.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/adacore/gtkada"]
+tags: ["gtk",
+"gui"]
+version: "23.0.0"
+short_description: "An Ada graphical toolkit based on Gtk+"
+dependencies: [{crate: "libgtk3", version: ">=3.24.24"},
+{crate: "make", version: "*"},
+{crate: "pkg_config", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This crate requires Gtk3+ >= 3.24.24
+
diff --git a/_crates/gwindows.md b/_crates/gwindows.md
new file mode 100644
index 00000000..faf2578c
--- /dev/null
+++ b/_crates/gwindows.md
@@ -0,0 +1 @@
+Not found: gwindows*
diff --git a/_crates/hac.md b/_crates/hac.md
new file mode 100644
index 00000000..f03baa5f
--- /dev/null
+++ b/_crates/hac.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "hac"
+authors: ["Gautier de Montmollin"]
+maintainers: ["gdemont@hotmail.com"]
+licenses: ["MIT"]
+websites: ["https://hacadacompiler.sourceforge.io/"]
+tags: ["hac",
+"compiler"]
+version: "0.26.0"
+short_description: "HAC Ada Compiler: a small, quick Ada compiler covering a subset of Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/hal.md b/_crates/hal.md
new file mode 100644
index 00000000..ac48382f
--- /dev/null
+++ b/_crates/hal.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "hal"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: []
+tags: ["embedded",
+"hal",
+"nostd"]
+version: "0.3.0"
+short_description: "Hardware Abstraction Layer (HAL)"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+# hal
+
+Hardware Abstraction Layer: interfaces definitions to abstract access to common
+hardware devices and protocols
+
+This crate is a snapshot of the `hal` in [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/tree/master/hal/src).
+
+Any bug report, issue, contribution must be adressed to the [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/) repo.
+
+
+
diff --git a/_crates/hangman.md b/_crates/hangman.md
new file mode 100644
index 00000000..c10ab0c5
--- /dev/null
+++ b/_crates/hangman.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "hangman"
+authors: ["Jon Hollan, Mark Hoffman, & Brandon Ball"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: []
+websites: []
+tags: []
+version: "1.0.0"
+short_description: "Hangman game for the console"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/hello.md b/_crates/hello.md
new file mode 100644
index 00000000..d3dab45f
--- /dev/null
+++ b/_crates/hello.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "hello"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["MIT"]
+websites: ["https://github.com/alire-project/hello"]
+tags: ["hello",
+"demo"]
+version: "1.0.2"
+short_description: "'Hello, world!' demonstration project"
+dependencies: [{crate: "libhello", version: "^1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/hmac.md b/_crates/hmac.md
new file mode 100644
index 00000000..e15050f9
--- /dev/null
+++ b/_crates/hmac.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "hmac"
+authors: ["Anton Fediushin"]
+maintainers: ["Anton Fediushin "]
+licenses: ["ISC"]
+websites: ["https://github.com/AntonMeep/hmac"]
+tags: ["cryptography",
+"security",
+"hmac"]
+version: "2.0.0"
+short_description: "HMAC implemented in Ada"
+dependencies: [{crate: "sha1", version: "^2.0.0"},
+{crate: "sha2", version: "^2.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/honki_tonks_zivilisationen.md b/_crates/honki_tonks_zivilisationen.md
new file mode 100644
index 00000000..9c24a02f
--- /dev/null
+++ b/_crates/honki_tonks_zivilisationen.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "honki_tonks_zivilisationen"
+authors: ["Stefan Hild"]
+maintainers: ["Stefan Hild "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/HonkiTonk/Honki-Tonks-Zivilisationen"]
+tags: ["game",
+"sfml",
+"4x",
+"roundbased",
+"strategy",
+"cross-platform",
+"multimedia",
+"2d"]
+version: "0.5.1590-dev"
+short_description: "The Code of my 4X turn-based strategy game."
+dependencies: [{crate: "asfml", version: "^2.5.3"},
+{crate: "gnat", version: ">=12.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Der Code meines 4X-Rundenstrategiespiels. Geschrieben in Ada 2022 unter Verwendung der Ada Standardbibliothek, der ASFML 2.5.3, der CSFML 2.5.1 und der SFML 2.5.1. Nur unter Linux intensiv getestet, sollte aber auch unter anderen Betriebssystemen problemlos funktionieren.
+
+The Code of my 4X turn-based strategy game. Written in Ada 2022 using the Ada standard library, the ASFML 2.5.3, the CSFML 2.5.1 and the SFML 2.5.1. Only intensively tested under Linux, but should also work without problems under other operating systems.
+
+
diff --git a/_crates/hungarian.md b/_crates/hungarian.md
new file mode 100644
index 00000000..e35d3d85
--- /dev/null
+++ b/_crates/hungarian.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "hungarian"
+authors: ["alejandro@mosteo.com"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["LGPL-3.0-only"]
+websites: []
+tags: []
+version: "1.0.0"
+short_description: "Ada wrapper for the fast Stachniss' Hungarian solver"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ini_files.md b/_crates/ini_files.md
new file mode 100644
index 00000000..9c171983
--- /dev/null
+++ b/_crates/ini_files.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "ini_files"
+authors: ["Rolf Ebert",
+"Gautier de Montmollin"]
+maintainers: ["rolf.ebert.gcc@gmx.de",
+"gdemont@hotmail.com"]
+licenses: ["MIT"]
+websites: ["https://sourceforge.net/p/ini-files/"]
+tags: ["ini",
+"cfg",
+"config"]
+version: "10.0.0"
+short_description: "A standalone, portable Ada package for configuration files"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/inotify.md b/_crates/inotify.md
new file mode 100644
index 00000000..4e7b688f
--- /dev/null
+++ b/_crates/inotify.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "inotify"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/inotify-ada"]
+tags: ["inotify",
+"linux"]
+version: "2.0.1"
+short_description: "Monitor filesystem events using Linux' inotify API"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/iso.md b/_crates/iso.md
new file mode 100644
index 00000000..c851d1b2
--- /dev/null
+++ b/_crates/iso.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "iso"
+authors: ["AJ Ianozi"]
+maintainers: ["AJ Ianozi "]
+licenses: ["MIT"]
+websites: ["https://github.com/ada-iso/ada_iso/"]
+tags: ["countries",
+"currencies",
+"iso-1366",
+"iso-4217"]
+version: "2.0.0"
+short_description: "ISO Standard references for Ada such as 1366 & 4217 (Country & Currency)"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/iterators.md b/_crates/iterators.md
new file mode 100644
index 00000000..f2ddf84f
--- /dev/null
+++ b/_crates/iterators.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "iterators"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["LGPL-3.0-only"]
+websites: ["https://github.com/mosteo/iterators"]
+tags: ["iterators",
+"functional"]
+version: "0.2.0"
+short_description: "Functional iterators a la Rust"
+dependencies: [{crate: "aaa", version: "~0.2.1"},
+{crate: "gnat", version: "^10"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/itsybitsy_bsp.md b/_crates/itsybitsy_bsp.md
new file mode 100644
index 00000000..acaf287b
--- /dev/null
+++ b/_crates/itsybitsy_bsp.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "itsybitsy_bsp"
+authors: ["Holger Rodriguez"]
+maintainers: ["Holger Rodriguez "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://pico-doc.synack.me/"]
+tags: ["embedded",
+"nostd",
+"itsybitsy",
+"rp2040",
+"bsp"]
+version: "0.0.4"
+short_description: "Board support package for Arduino ItsyBitsy"
+dependencies: [{crate: "hal", version: "~0.1"},
+{crate: "rp2040_hal", version: "^1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/itsybitsy_rp2040_bsp.md b/_crates/itsybitsy_rp2040_bsp.md
new file mode 100644
index 00000000..e929519f
--- /dev/null
+++ b/_crates/itsybitsy_rp2040_bsp.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "itsybitsy_rp2040_bsp"
+authors: ["Holger Rodriguez"]
+maintainers: ["Holger Rodriguez "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/hgrodriguez/itsybitsy_rp2040_bsp"]
+tags: ["embedded",
+"nostd",
+"itsybitsy",
+"rp2040",
+"bsp"]
+version: "0.2.0"
+short_description: "Board support package for Arduino ItsyBitsy RP2040"
+dependencies: [{crate: "hal", version: "~0.3"},
+{crate: "rp2040_hal", version: "^2"},
+{crate: "gnat_arm_elf", version: "^12.1.2"}]
+configuration_variables: []
+configuration_values: [{crate: 'rp2040_hal', settings: [{name: 'Flash_Chip', value: "w25qxx"}]}]
+
+---
+
+
diff --git a/_crates/j2ada.md b/_crates/j2ada.md
new file mode 100644
index 00000000..aa1dbd26
--- /dev/null
+++ b/_crates/j2ada.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "j2ada"
+authors: ["Pascal Pignard"]
+maintainers: ["Pascal Pignard "]
+licenses: ["CECILL-2.1"]
+websites: ["https://github.com/Blady-Com/j2ada"]
+tags: ["java",
+"translator"]
+version: "1.4.2"
+short_description: "Almost Java to Ada translator"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/json.md b/_crates/json.md
new file mode 100644
index 00000000..71341e9f
--- /dev/null
+++ b/_crates/json.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "json"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/json-ada"]
+tags: ["json"]
+version: "5.0.3"
+short_description: "An Ada 2012 library for parsing JSON"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/jupyter_kernel.md b/_crates/jupyter_kernel.md
new file mode 100644
index 00000000..0b194e7e
--- /dev/null
+++ b/_crates/jupyter_kernel.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "jupyter_kernel"
+authors: ["Max Reznik"]
+maintainers: ["Max Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/reznikmm/jupyter/"]
+tags: ["jupyter",
+"notebook",
+"kernel"]
+version: "1.0.0"
+short_description: "Jupyter Kernel for Ada"
+dependencies: [{crate: "matreshka_league", version: "*"},
+{crate: "spawn", version: "*"},
+{crate: "zeromq_ada", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Jupyter Kernel for Ada
+
+To run this kernel with Jupyter Notebook:
+ alr get --build jupyter_kernel
+ cd jupyter_kernel*
+ ln -s ./alire/build/.objs .
+ PATH=$PATH:$PWD/alire/build/.objs/driver JUPYTER_PATH=$PWD jupyter-notebook --debug
+
+
diff --git a/_crates/jwt.md b/_crates/jwt.md
new file mode 100644
index 00000000..1b774e59
--- /dev/null
+++ b/_crates/jwt.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "jwt"
+authors: ["Maxim Reznik"]
+maintainers: ["Maxim Reznik "]
+licenses: ["MIT"]
+websites: ["https://github.com/reznikmm/jwt"]
+tags: ["web",
+"token",
+"jws",
+"json",
+"jwt"]
+version: "1.0.0"
+short_description: "JSON Web Token (JWT) implementation in Ada"
+dependencies: [{crate: "matreshka_league", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/keypadder.md b/_crates/keypadder.md
new file mode 100644
index 00000000..11b287bb
--- /dev/null
+++ b/_crates/keypadder.md
@@ -0,0 +1,37 @@
+---
+layout: crate
+crate: "keypadder"
+authors: ["Stephen Merrony"]
+maintainers: ["Stephen Merrony "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/SMerrony/keypadder"]
+tags: ["linux",
+"keyboard",
+"mobile",
+"programmable",
+"tablet",
+"macro",
+"keypad",
+"macropad"]
+version: "0.3.0"
+short_description: "Programmable virtual keypad for your Linux desktop"
+dependencies: [{crate: "aws", version: "^23.0.0"},
+{crate: "ada_toml", version: "~0.3.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Overview
+
+Keypadder runs on your desktop machine and provides a mobile/tablet-friendly
+web page that you use from a tablet or phone to send frequently-used, awkward,
+or difficult-to-remember key combinations to the currently-focused desktop application.
+
+Amongst other things, the author uses it with Thunderbird and LibreOffice Writer
+for typing accented characters, with MuseScore to provide a keypad similar to a
+certain commercial score writing application, and with Firefox for accented
+characters and Emojis in social media.
+
+It's a great use for one of those old smartphones or tablets you have lying in that drawer!
+
+
diff --git a/_crates/keystoreada.md b/_crates/keystoreada.md
new file mode 100644
index 00000000..ac303f43
--- /dev/null
+++ b/_crates/keystoreada.md
@@ -0,0 +1,51 @@
+---
+layout: crate
+crate: "keystoreada"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-keystore"]
+tags: ["security",
+"storage",
+"nosql"]
+version: "1.4.0"
+short_description: "Ada Keystore"
+dependencies: [{crate: "utilada", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-keystore/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-keystore/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-keystore/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-keystore/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-keystore/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-keystore/summary)
+
+# Overview
+
+Ada Keystore is a tool and library to store information in secure wallets
+and protect the stored information by encrypting the content.
+It is necessary to know one of the wallet password to access its content.
+Ada Keystore can be used to safely store passwords, credentials,
+bank accounts and even documents.
+
+Wallets are protected by a master key using AES-256 and the wallet
+master key is protected by a user password.
+The wallet defines up to 7 slots that identify
+a password key that is able to unlock the master key. To open a wallet,
+it is necessary to unlock one of these 7 slots by providing the correct
+password. Wallet key slots are protected by the user's password
+and the PBKDF2-HMAC-256 algorithm, a random salt, a random counter
+and they are encrypted using AES-256.
+
+Values stored in the wallet are protected by their own encryption keys
+using AES-256. A wallet can contain another wallet which is then
+protected by its own encryption keys and passwords (with 7 independent slots).
+Because the child wallet has its own master key, it is necessary to known
+the primary password and the child password to unlock the parent wallet
+first and then the child wallet.
+
+## Documents
+
+* [Ada Keystore Guide](https://ada-keystore.readthedocs.io/en/latest/) [PDF](https://github.com/stcarrez/ada-keystore/blob/master/docs/keystore-book.pdf)
+
+
+
diff --git a/_crates/labs_radar.md b/_crates/labs_radar.md
new file mode 100644
index 00000000..56f4eade
--- /dev/null
+++ b/_crates/labs_radar.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "labs_radar"
+authors: ["Léo Germond"]
+maintainers: ["Léo Germond "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/adacore/training_labs_radar"]
+tags: ["training",
+"labs"]
+version: "0.2.0"
+short_description: "Introductory Ada exercises based around a fake radar codebase"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/labs_solar_system.md b/_crates/labs_solar_system.md
new file mode 100644
index 00000000..313a174a
--- /dev/null
+++ b/_crates/labs_solar_system.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "labs_solar_system"
+authors: ["Léo Germond"]
+maintainers: ["Léo Germond "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://public-training.adacore.com/doc/labs/solar_system/index.html"]
+tags: ["training",
+"labs",
+"graphics",
+"windowed"]
+version: "0.9.1"
+short_description: "A set of SDL-based exercises to learn Ada"
+dependencies: [{crate: "mage", version: "~0.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/labs_standalone.md b/_crates/labs_standalone.md
new file mode 100644
index 00000000..de4507f4
--- /dev/null
+++ b/_crates/labs_standalone.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "labs_standalone"
+authors: ["Léo Germond"]
+maintainers: ["Léo Germond "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/adacore/training_labs_standalone"]
+tags: ["training",
+"labs",
+"algorithmic"]
+version: "0.1.0"
+short_description: "Ada exercices for training"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace.md b/_crates/lace.md
new file mode 100644
index 00000000..221429f0
--- /dev/null
+++ b/_crates/lace.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "lace"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Contains a set of low level re-usable Ada components."
+dependencies: [{crate: "lace_shared", version: "~0.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+Contains:
+
+ - lace.Events : Provides a 'subject/oberver' 'event/response' facility.
+ - lace.Any : Provides an interface to allow heterogenous containers.
+ - lace.fast_Pool : Provides a generic which allows fast allocation/deallocation.
+ - lace.Text : Provides a DSA friendly set of text operations.
+
+
+
diff --git a/_crates/lace_box2d.md b/_crates/lace_box2d.md
new file mode 100644
index 00000000..622ea981
--- /dev/null
+++ b/_crates/lace_box2d.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "lace_box2d"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Provides a thin Ada binding to the 'box2d' C++ project."
+dependencies: [{crate: "lace_c_math", version: "~0.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_bullet.md b/_crates/lace_bullet.md
new file mode 100644
index 00000000..3431f3d8
--- /dev/null
+++ b/_crates/lace_bullet.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "lace_bullet"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Provides a thin Ada binding to the 'bullet' C++ project."
+dependencies: [{crate: "lace_c_math", version: "~0.1"},
+{crate: "libbullet", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_c_math.md b/_crates/lace_c_math.md
new file mode 100644
index 00000000..1956914e
--- /dev/null
+++ b/_crates/lace_c_math.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "lace_c_math"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "A binding to the C math code used by box2d & bullet bindings."
+dependencies: [{crate: "lace_math", version: "~0.1"},
+{crate: "lace_swig", version: "~0.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_collada.md b/_crates/lace_collada.md
new file mode 100644
index 00000000..0e14a874
--- /dev/null
+++ b/_crates/lace_collada.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "lace_collada"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "A Collada parser."
+dependencies: [{crate: "lace_math", version: "~0.1"},
+{crate: "lace_xml", version: "~0.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_gel.md b/_crates/lace_gel.md
new file mode 100644
index 00000000..54c3d548
--- /dev/null
+++ b/_crates/lace_gel.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "lace_gel"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "A 2D/3D game engine library (GEL)."
+dependencies: [{crate: "lace_opengl", version: "~0.1"},
+{crate: "lace_physics", version: "~0.1"},
+{crate: "sdlada", version: "2.5.4-1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_gel_animation_demo.md b/_crates/lace_gel_animation_demo.md
new file mode 100644
index 00000000..a53912d5
--- /dev/null
+++ b/_crates/lace_gel_animation_demo.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "lace_gel_animation_demo"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "A demo of GEL's human animation."
+dependencies: [{crate: "lace_gel", version: "~0.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_gel_full_demo.md b/_crates/lace_gel_full_demo.md
new file mode 100644
index 00000000..a6b36c14
--- /dev/null
+++ b/_crates/lace_gel_full_demo.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "lace_gel_full_demo"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "A demo of most of GEL's features."
+dependencies: [{crate: "lace_gel", version: "~0.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_math.md b/_crates/lace_math.md
new file mode 100644
index 00000000..13a6eff2
--- /dev/null
+++ b/_crates/lace_math.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "lace_math"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Provides an Ada package family covering pure and applied mathematics."
+dependencies: [{crate: "lace_shared", version: "~0.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+Contains:
+
+ - Pure
+ - Arithmetic (covers quantity)
+ - Algebra (covers structure)
+ - Geometry (covers space)
+ - Analysis (covers change)
+
+ - Applied
+ - Statistics
+ - Computational
+
+
+
diff --git a/_crates/lace_opengl.md b/_crates/lace_opengl.md
new file mode 100644
index 00000000..3715edc3
--- /dev/null
+++ b/_crates/lace_opengl.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "lace_opengl"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Provides an openGL engine."
+dependencies: [{crate: "lace_collada", version: "~0.1"},
+{crate: "libfreetype", version: "^2"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_physics.md b/_crates/lace_physics.md
new file mode 100644
index 00000000..d0716b37
--- /dev/null
+++ b/_crates/lace_physics.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "lace_physics"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Provides 2D/3D rigid body dynamics simulation."
+dependencies: [{crate: "lace", version: "~0.1"},
+{crate: "lace_box2d", version: "~0.1"},
+{crate: "lace_bullet", version: "~0.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_shared.md b/_crates/lace_shared.md
new file mode 100644
index 00000000..bd1d12cd
--- /dev/null
+++ b/_crates/lace_shared.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "lace_shared"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Default settings for GPR files in the Lace project."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_swig.md b/_crates/lace_swig.md
new file mode 100644
index 00000000..6c438ddb
--- /dev/null
+++ b/_crates/lace_swig.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "lace_swig"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Provides packages required by bindings produced by the 'swig4ada' tool."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lace_xml.md b/_crates/lace_xml.md
new file mode 100644
index 00000000..8d14ec11
--- /dev/null
+++ b/_crates/lace_xml.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "lace_xml"
+authors: ["Rod Kay"]
+maintainers: ["Rod Kay "]
+licenses: ["ISC"]
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Provides simple XML read/write support."
+dependencies: [{crate: "lace_shared", version: "~0.1"},
+{crate: "libexpat", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lal_highlight.md b/_crates/lal_highlight.md
new file mode 100644
index 00000000..86e97fb5
--- /dev/null
+++ b/_crates/lal_highlight.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "lal_highlight"
+authors: ["AdaCore"]
+maintainers: ["Pierre-Marie de Rodat "]
+licenses: ["GPL-3.0-only WITH GCC-exception-3.1"]
+websites: ["https://github.com/AdaCore/libadalang"]
+tags: ["libadalang",
+"static-analysis"]
+version: "21.0.0"
+short_description: "Simple code highlighters based on Libadalang"
+dependencies: [{crate: "gnatcoll_iconv", version: "^21"},
+{crate: "libadalang", version: "^21"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/langkit_support.md b/_crates/langkit_support.md
new file mode 100644
index 00000000..c1527302
--- /dev/null
+++ b/_crates/langkit_support.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "langkit_support"
+authors: ["AdaCore"]
+maintainers: ["Pierre-Marie de Rodat "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/AdaCore/langkit"]
+tags: []
+version: "23.0.0"
+short_description: "Runtime support library for Langkit-generated libraries"
+dependencies: [{crate: "gnatcoll", version: "^23"},
+{crate: "gnatcoll_gmp", version: "^23"},
+{crate: "gnatcoll_iconv", version: "^23"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lea.md b/_crates/lea.md
new file mode 100644
index 00000000..126dcc93
--- /dev/null
+++ b/_crates/lea.md
@@ -0,0 +1 @@
+Not found: lea*
diff --git a/_crates/libadalang.md b/_crates/libadalang.md
new file mode 100644
index 00000000..38ec74e2
--- /dev/null
+++ b/_crates/libadalang.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "libadalang"
+authors: ["AdaCore"]
+maintainers: ["Pierre-Marie de Rodat "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/AdaCore/libadalang"]
+tags: ["libadalang",
+"static-analysis"]
+version: "23.0.0"
+short_description: "Ada semantic analysis library"
+dependencies: [{crate: "gnatcoll", version: "^23"},
+{crate: "gnatcoll_gmp", version: "^23"},
+{crate: "gnatcoll_iconv", version: "^23"},
+{crate: "langkit_support", version: "^23"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libadalang2xml.md b/_crates/libadalang2xml.md
new file mode 100644
index 00000000..5a4fed27
--- /dev/null
+++ b/_crates/libadalang2xml.md
@@ -0,0 +1,84 @@
+---
+layout: crate
+crate: "libadalang2xml"
+authors: ["Simon Wright"]
+maintainers: ["Simon Wright "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/simonjwright/libadalang2xml"]
+tags: ["ada",
+"xml"]
+version: "1.0.0"
+short_description: "Generates XML for Ada source, using libadalang."
+dependencies: [{crate: "libadalang", version: "^23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Libadalang2XML is a tool to extract syntatic aspects of Ada source code into XML.
+
+The Ada source is initially read using [Libadalang](https://github.com/AdaCore/libadalang). The resulting tree is then traversed, and its structure output in an XML form.
+
+The [document type definition](https://en.wikipedia.org/wiki/Document_type_definition) isn't explicit; it's simply derived from the tree elements created by Libadalang. Note that Libadalang includes much more semantic information than the surface structure generated by this tool, but nevertheless there's enough there to --- for example --- create a scriptable body for a package spec.
+
+## macOS ##
+
+For reasons explained [here](https://forward-in-code.blogspot.com/2023/03/libadalang-alire-and-macos.html), the tool can't be built on macOS using Alire's `gnat_native` compiler; you need to have a full compiler suite on your `PATH`, like that obtainable for [GCC 12.2.0 (x86 64)](https://github.com/simonjwright/distributing-gcc/releases/tag/gcc-12.2.0-x86_64) or [GCC 12.2.0 (aarch64)](https://github.com/simonjwright/distributing-gcc/releases/tag/gcc-12.2.0-aarch64). Having set that up, `alr build` will built the tool.
+
+## Example ##
+
+As an example of the output, this code
+``` ada
+package Demo is
+ procedure Square (X : in out Integer);
+end Demo;
+```
+generates
+``` xml
+
+
+
+
+
+
+ Demo
+
+
+
+
+
+
+ procedure
+
+ Square
+
+
+
+
+
+
+ X
+
+
+
+ in out
+
+
+ Integer
+
+
+
+
+
+
+
+
+
+ Demo
+
+
+
+
+
+```
+
+
diff --git a/_crates/libadalang_tools.md b/_crates/libadalang_tools.md
new file mode 100644
index 00000000..c472934b
--- /dev/null
+++ b/_crates/libadalang_tools.md
@@ -0,0 +1,27 @@
+---
+layout: crate
+crate: "libadalang_tools"
+authors: ["AdaCore"]
+maintainers: ["Pierre-Marie de Rodat ",
+"Max Reznik "]
+licenses: ["GPL-3.0-only WITH GCC-exception-3.1"]
+websites: ["https://github.com/AdaCore/libadalang-tools"]
+tags: ["libadalang",
+"static-analysis",
+"metric",
+"formatting",
+"generator",
+"gnatmetric",
+"gnatpp",
+"gnatstub",
+"gnattest"]
+version: "23.0.0"
+short_description: "Ada semantic analysis library extension and tools"
+dependencies: [{crate: "libadalang", version: "^23.0.0"},
+{crate: "templates_parser", version: "^23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libblas.md b/_crates/libblas.md
new file mode 100644
index 00000000..6d32004a
--- /dev/null
+++ b/_crates/libblas.md
@@ -0,0 +1 @@
+Not found: libblas*
diff --git a/_crates/libbullet.md b/_crates/libbullet.md
new file mode 100644
index 00000000..479965e9
--- /dev/null
+++ b/_crates/libbullet.md
@@ -0,0 +1 @@
+Not found: libbullet*
diff --git a/_crates/libcanberra.md b/_crates/libcanberra.md
new file mode 100644
index 00000000..8c6537d0
--- /dev/null
+++ b/_crates/libcanberra.md
@@ -0,0 +1 @@
+Not found: libcanberra*
diff --git a/_crates/libclntsh.md b/_crates/libclntsh.md
new file mode 100644
index 00000000..c418528c
--- /dev/null
+++ b/_crates/libclntsh.md
@@ -0,0 +1 @@
+Not found: libclntsh*
diff --git a/_crates/libcsfml.md b/_crates/libcsfml.md
new file mode 100644
index 00000000..7833c78f
--- /dev/null
+++ b/_crates/libcsfml.md
@@ -0,0 +1 @@
+Not found: libcsfml*
diff --git a/_crates/libcurl.md b/_crates/libcurl.md
new file mode 100644
index 00000000..295b80e7
--- /dev/null
+++ b/_crates/libcurl.md
@@ -0,0 +1 @@
+Not found: libcurl*
diff --git a/_crates/libegl.md b/_crates/libegl.md
new file mode 100644
index 00000000..288465e9
--- /dev/null
+++ b/_crates/libegl.md
@@ -0,0 +1 @@
+Not found: libegl*
diff --git a/_crates/libexpat.md b/_crates/libexpat.md
new file mode 100644
index 00000000..90101413
--- /dev/null
+++ b/_crates/libexpat.md
@@ -0,0 +1 @@
+Not found: libexpat*
diff --git a/_crates/libfbclient.md b/_crates/libfbclient.md
new file mode 100644
index 00000000..d9700545
--- /dev/null
+++ b/_crates/libfbclient.md
@@ -0,0 +1 @@
+Not found: libfbclient*
diff --git a/_crates/libfreetype.md b/_crates/libfreetype.md
new file mode 100644
index 00000000..f434b079
--- /dev/null
+++ b/_crates/libfreetype.md
@@ -0,0 +1 @@
+Not found: libfreetype*
diff --git a/_crates/libftdi1.md b/_crates/libftdi1.md
new file mode 100644
index 00000000..c075e4d9
--- /dev/null
+++ b/_crates/libftdi1.md
@@ -0,0 +1 @@
+Not found: libftdi1*
diff --git a/_crates/libfuse.md b/_crates/libfuse.md
new file mode 100644
index 00000000..38156f59
--- /dev/null
+++ b/_crates/libfuse.md
@@ -0,0 +1 @@
+Not found: libfuse*
diff --git a/_crates/libglfw3.md b/_crates/libglfw3.md
new file mode 100644
index 00000000..e3b9b848
--- /dev/null
+++ b/_crates/libglfw3.md
@@ -0,0 +1 @@
+Not found: libglfw3*
diff --git a/_crates/libgmp.md b/_crates/libgmp.md
new file mode 100644
index 00000000..1d10241e
--- /dev/null
+++ b/_crates/libgmp.md
@@ -0,0 +1 @@
+Not found: libgmp*
diff --git a/_crates/libgnatdoc.md b/_crates/libgnatdoc.md
new file mode 100644
index 00000000..c63af316
--- /dev/null
+++ b/_crates/libgnatdoc.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "libgnatdoc"
+authors: ["AdaCore"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["GPL-3.0-only WITH GCC-exception-3.1"]
+websites: ["https://github.com/AdaCore/gnatdoc"]
+tags: ["documentation",
+"tools"]
+version: "23.0.0"
+short_description: "GNAT Documentation Generation Tool (as a library)"
+dependencies: [{crate: "libadalang", version: "23.0.0"},
+{crate: "markdown", version: "23.0.0"},
+{crate: "vss", version: "23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libgnutls.md b/_crates/libgnutls.md
new file mode 100644
index 00000000..62a5ed55
--- /dev/null
+++ b/_crates/libgnutls.md
@@ -0,0 +1 @@
+Not found: libgnutls*
diff --git a/_crates/libgomp.md b/_crates/libgomp.md
new file mode 100644
index 00000000..a07ff87d
--- /dev/null
+++ b/_crates/libgomp.md
@@ -0,0 +1 @@
+Not found: libgomp*
diff --git a/_crates/libgpiod.md b/_crates/libgpiod.md
new file mode 100644
index 00000000..f97b8a0c
--- /dev/null
+++ b/_crates/libgpiod.md
@@ -0,0 +1 @@
+Not found: libgpiod*
diff --git a/_crates/libgpr.md b/_crates/libgpr.md
new file mode 100644
index 00000000..47c33021
--- /dev/null
+++ b/_crates/libgpr.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "libgpr"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: []
+tags: []
+version: "23.0.0"
+short_description: "GNAT Project File Library"
+dependencies: [{crate: "gnat", version: "/=2020"},
+{crate: "xmlada", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libgpr2.md b/_crates/libgpr2.md
new file mode 100644
index 00000000..4bde5419
--- /dev/null
+++ b/_crates/libgpr2.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "libgpr2"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["Apache-2.0"]
+websites: []
+tags: []
+version: "23.0.0"
+short_description: "Parser for GPR Project File"
+dependencies: [{crate: "gnatcoll", version: "~23.0.0"},
+{crate: "gnatcoll_gmp", version: "~23.0.0"},
+{crate: "gnatcoll_iconv", version: "~23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libgraph_easy_perl.md b/_crates/libgraph_easy_perl.md
new file mode 100644
index 00000000..845c9679
--- /dev/null
+++ b/_crates/libgraph_easy_perl.md
@@ -0,0 +1 @@
+Not found: libgraph_easy_perl*
diff --git a/_crates/libgsl.md b/_crates/libgsl.md
new file mode 100644
index 00000000..267e6191
--- /dev/null
+++ b/_crates/libgsl.md
@@ -0,0 +1 @@
+Not found: libgsl*
diff --git a/_crates/libgtk3.md b/_crates/libgtk3.md
new file mode 100644
index 00000000..cc3d88f0
--- /dev/null
+++ b/_crates/libgtk3.md
@@ -0,0 +1 @@
+Not found: libgtk3*
diff --git a/_crates/libhello.md b/_crates/libhello.md
new file mode 100644
index 00000000..0374e5d8
--- /dev/null
+++ b/_crates/libhello.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "libhello"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["MIT"]
+websites: ["https://github.com/alire-project/libhello"]
+tags: ["hello",
+"demo",
+"library"]
+version: "1.0.1"
+short_description: "Basic library demonstration project"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libhidapi.md b/_crates/libhidapi.md
new file mode 100644
index 00000000..b121abc9
--- /dev/null
+++ b/_crates/libhidapi.md
@@ -0,0 +1 @@
+Not found: libhidapi*
diff --git a/_crates/libi2c.md b/_crates/libi2c.md
new file mode 100644
index 00000000..f670cbc7
--- /dev/null
+++ b/_crates/libi2c.md
@@ -0,0 +1 @@
+Not found: libi2c*
diff --git a/_crates/libiconv.md b/_crates/libiconv.md
new file mode 100644
index 00000000..36855421
--- /dev/null
+++ b/_crates/libiconv.md
@@ -0,0 +1 @@
+Not found: libiconv*
diff --git a/_crates/libkeccak.md b/_crates/libkeccak.md
new file mode 100644
index 00000000..0f9c197b
--- /dev/null
+++ b/_crates/libkeccak.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "libkeccak"
+authors: ["Daniel King"]
+maintainers: ["Daniel King "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/damaki/libkeccak"]
+tags: ["spark",
+"cryptography",
+"security",
+"hash",
+"sha3",
+"keccak",
+"gimli",
+"ascon",
+"shake",
+"cshake",
+"kmac",
+"tuplehash",
+"parallelhash",
+"kangarootwelve"]
+version: "3.0.0"
+short_description: "SHA-3 and related algorithms"
+dependencies: [{crate: "gnat", version: ">=11.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/liblapack.md b/_crates/liblapack.md
new file mode 100644
index 00000000..8980cad6
--- /dev/null
+++ b/_crates/liblapack.md
@@ -0,0 +1 @@
+Not found: liblapack*
diff --git a/_crates/liblua.md b/_crates/liblua.md
new file mode 100644
index 00000000..26615ae3
--- /dev/null
+++ b/_crates/liblua.md
@@ -0,0 +1 @@
+Not found: liblua*
diff --git a/_crates/liblzma.md b/_crates/liblzma.md
new file mode 100644
index 00000000..8d3c6e88
--- /dev/null
+++ b/_crates/liblzma.md
@@ -0,0 +1 @@
+Not found: liblzma*
diff --git a/_crates/libmariadb.md b/_crates/libmariadb.md
new file mode 100644
index 00000000..b84c2800
--- /dev/null
+++ b/_crates/libmariadb.md
@@ -0,0 +1 @@
+Not found: libmariadb*
diff --git a/_crates/libmesa.md b/_crates/libmesa.md
new file mode 100644
index 00000000..be5b875f
--- /dev/null
+++ b/_crates/libmesa.md
@@ -0,0 +1 @@
+Not found: libmesa*
diff --git a/_crates/libmpfr.md b/_crates/libmpfr.md
new file mode 100644
index 00000000..54f61236
--- /dev/null
+++ b/_crates/libmpfr.md
@@ -0,0 +1 @@
+Not found: libmpfr*
diff --git a/_crates/libmysqlclient.md b/_crates/libmysqlclient.md
new file mode 100644
index 00000000..d6ff5961
--- /dev/null
+++ b/_crates/libmysqlclient.md
@@ -0,0 +1 @@
+Not found: libmysqlclient*
diff --git a/_crates/libopus.md b/_crates/libopus.md
new file mode 100644
index 00000000..026cdb28
--- /dev/null
+++ b/_crates/libopus.md
@@ -0,0 +1 @@
+Not found: libopus*
diff --git a/_crates/libpq.md b/_crates/libpq.md
new file mode 100644
index 00000000..c75f478c
--- /dev/null
+++ b/_crates/libpq.md
@@ -0,0 +1 @@
+Not found: libpq*
diff --git a/_crates/libpulse.md b/_crates/libpulse.md
new file mode 100644
index 00000000..6d20cbb7
--- /dev/null
+++ b/_crates/libpulse.md
@@ -0,0 +1 @@
+Not found: libpulse*
diff --git a/_crates/libpython2dev.md b/_crates/libpython2dev.md
new file mode 100644
index 00000000..79c46c34
--- /dev/null
+++ b/_crates/libpython2dev.md
@@ -0,0 +1 @@
+Not found: libpython2dev*
diff --git a/_crates/libpython3dev.md b/_crates/libpython3dev.md
new file mode 100644
index 00000000..940ba755
--- /dev/null
+++ b/_crates/libpython3dev.md
@@ -0,0 +1 @@
+Not found: libpython3dev*
diff --git a/_crates/libreadline.md b/_crates/libreadline.md
new file mode 100644
index 00000000..93afed3d
--- /dev/null
+++ b/_crates/libreadline.md
@@ -0,0 +1 @@
+Not found: libreadline*
diff --git a/_crates/librtmidi.md b/_crates/librtmidi.md
new file mode 100644
index 00000000..a5052262
--- /dev/null
+++ b/_crates/librtmidi.md
@@ -0,0 +1 @@
+Not found: librtmidi*
diff --git a/_crates/libsdl2.md b/_crates/libsdl2.md
new file mode 100644
index 00000000..47f0cbfc
--- /dev/null
+++ b/_crates/libsdl2.md
@@ -0,0 +1 @@
+Not found: libsdl2*
diff --git a/_crates/libsdl2_image.md b/_crates/libsdl2_image.md
new file mode 100644
index 00000000..16146392
--- /dev/null
+++ b/_crates/libsdl2_image.md
@@ -0,0 +1 @@
+Not found: libsdl2_image*
diff --git a/_crates/libsdl2_ttf.md b/_crates/libsdl2_ttf.md
new file mode 100644
index 00000000..a8df3873
--- /dev/null
+++ b/_crates/libsdl2_ttf.md
@@ -0,0 +1 @@
+Not found: libsdl2_ttf*
diff --git a/_crates/libsimpleio.md b/_crates/libsimpleio.md
new file mode 100644
index 00000000..55d2acad
--- /dev/null
+++ b/_crates/libsimpleio.md
@@ -0,0 +1,38 @@
+---
+layout: crate
+crate: "libsimpleio"
+authors: ["Philip Munts"]
+maintainers: ["Philip Munts "]
+licenses: ["BSD-1-Clause"]
+websites: ["https://github.com/pmunts/libsimpleio"]
+tags: ["embedded",
+"linux",
+"libsimpleio",
+"remoteio",
+"beaglebone",
+"pocketbeagle",
+"raspberrypi",
+"raspberry",
+"pi",
+"adc",
+"dac",
+"gpio",
+"hid",
+"i2c",
+"motor",
+"pwm",
+"sensor",
+"serial",
+"servo",
+"spi",
+"stepper",
+"watchdog"]
+version: "1.21136.1"
+short_description: "Linux Simple I/O Library for GNAT Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libsqlite3.md b/_crates/libsqlite3.md
new file mode 100644
index 00000000..7686e392
--- /dev/null
+++ b/_crates/libsqlite3.md
@@ -0,0 +1 @@
+Not found: libsqlite3*
diff --git a/_crates/libtcl.md b/_crates/libtcl.md
new file mode 100644
index 00000000..5bc49846
--- /dev/null
+++ b/_crates/libtcl.md
@@ -0,0 +1 @@
+Not found: libtcl*
diff --git a/_crates/libtk.md b/_crates/libtk.md
new file mode 100644
index 00000000..ee0e6fd6
--- /dev/null
+++ b/_crates/libtk.md
@@ -0,0 +1 @@
+Not found: libtk*
diff --git a/_crates/libtls.md b/_crates/libtls.md
new file mode 100644
index 00000000..849f130d
--- /dev/null
+++ b/_crates/libtls.md
@@ -0,0 +1 @@
+Not found: libtls*
diff --git a/_crates/libusb.md b/_crates/libusb.md
new file mode 100644
index 00000000..6ffdeaa8
--- /dev/null
+++ b/_crates/libusb.md
@@ -0,0 +1 @@
+Not found: libusb*
diff --git a/_crates/libwayland.md b/_crates/libwayland.md
new file mode 100644
index 00000000..0bcd108f
--- /dev/null
+++ b/_crates/libwayland.md
@@ -0,0 +1 @@
+Not found: libwayland*
diff --git a/_crates/libx11.md b/_crates/libx11.md
new file mode 100644
index 00000000..a025e669
--- /dev/null
+++ b/_crates/libx11.md
@@ -0,0 +1 @@
+Not found: libx11*
diff --git a/_crates/libzmq.md b/_crates/libzmq.md
new file mode 100644
index 00000000..a332b9fc
--- /dev/null
+++ b/_crates/libzmq.md
@@ -0,0 +1 @@
+Not found: libzmq*
diff --git a/_crates/linenoise_ada.md b/_crates/linenoise_ada.md
new file mode 100644
index 00000000..cb570b7a
--- /dev/null
+++ b/_crates/linenoise_ada.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "linenoise_ada"
+authors: ["nytpu"]
+maintainers: ["nytpu "]
+licenses: ["BSD-2-Clause"]
+websites: ["https://git.sr.ht/~nytpu/linenoise-ada"]
+tags: ["linenoise",
+"readline",
+"line-editing"]
+version: "1.1.2"
+short_description: "Bindings to the Linenoise line editing library"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/linux_hal.md b/_crates/linux_hal.md
new file mode 100644
index 00000000..74d040e2
--- /dev/null
+++ b/_crates/linux_hal.md
@@ -0,0 +1,27 @@
+---
+layout: crate
+crate: "linux_hal"
+authors: ["Jeremy Grosser"]
+maintainers: ["Jeremy Grosser "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/JeremyGrosser/linux_hal"]
+tags: ["embedded",
+"hal",
+"linux",
+"i2c",
+"smbus",
+"gpio",
+"spi",
+"audio"]
+version: "1.1.0"
+short_description: "HAL drivers for Linux userspace"
+dependencies: [{crate: "hal", version: "~0.3.0"},
+{crate: "libgpiod", version: "^1"},
+{crate: "libi2c", version: "^4"},
+{crate: "libpulse", version: "^16"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/littlefs.md b/_crates/littlefs.md
new file mode 100644
index 00000000..27268bcb
--- /dev/null
+++ b/_crates/littlefs.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "littlefs"
+authors: ["Fabien Chouteau"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/Fabien-Chouteau/littlefs-ada"]
+tags: ["embedded",
+"filesystem",
+"nostd",
+"flash"]
+version: "0.3.1"
+short_description: "Ada/SPARK binding for the LittleFS flash embedded filesystem"
+dependencies: []
+configuration_variables: [{name: 'Assert', type: 'Boolean', default: "false"},
+{name: 'Debug', type: 'Boolean', default: "false"},
+{name: 'Error', type: 'Boolean', default: "false"},
+{name: 'Max_Attr_Size', type: 'Integer range 1 .. 1022', default: "1022"},
+{name: 'Max_File_Size', type: 'Integer range 1 .. 2147483647', default: "2147483647"},
+{name: 'Max_Name_Size', type: 'Integer range 1 .. 1022', default: "255"},
+{name: 'No_Malloc', type: 'Boolean', default: "true"},
+{name: 'Trace', type: 'Boolean', default: "false"},
+{name: 'Warn', type: 'Boolean', default: "false"}]
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lmdb_ada.md b/_crates/lmdb_ada.md
new file mode 100644
index 00000000..58974017
--- /dev/null
+++ b/_crates/lmdb_ada.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "lmdb_ada"
+authors: ["nytpu"]
+maintainers: ["nytpu "]
+licenses: ["BSD-2-Clause AND OLDAP-2.8+"]
+websites: ["https://git.sr.ht/~nytpu/lmdb-ada"]
+tags: ["database",
+"key-value"]
+version: "1.2.0"
+short_description: "Bindings to the Lightning Memory-Mapped Database"
+dependencies: [{crate: "gnatcoll", version: "^22.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/loga.md b/_crates/loga.md
new file mode 100644
index 00000000..db7f51cf
--- /dev/null
+++ b/_crates/loga.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "loga"
+authors: ["Cyrill Korshnyak ł"]
+maintainers: ["Cyrill Korshnyak "]
+licenses: ["Unlicense"]
+websites: ["https://github.com/mangl-auf/loga/"]
+tags: ["logging"]
+version: "1.0.0"
+short_description: "Simple library for simple logging. Like npm package \"debug\", but for Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ltp_305.md b/_crates/ltp_305.md
new file mode 100644
index 00000000..cbede251
--- /dev/null
+++ b/_crates/ltp_305.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "ltp_305"
+authors: ["Jeremy Grosser"]
+maintainers: ["Jeremy Grosser ",
+"Holger Rodriguez "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/hgrodriguez/ltp_305"]
+tags: ["embedded",
+"led",
+"rp2040",
+"i2c"]
+version: "0.2.0"
+short_description: "Driver for Pimoroni LED"
+dependencies: [{crate: "hal", version: "~0.3.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lvgl_ada.md b/_crates/lvgl_ada.md
new file mode 100644
index 00000000..b311f9b5
--- /dev/null
+++ b/_crates/lvgl_ada.md
@@ -0,0 +1,32 @@
+---
+layout: crate
+crate: "lvgl_ada"
+authors: ["Fabien Chouteau "]
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["MIT"]
+websites: ["https://github.com/Fabien-Chouteau/lvgl-ada"]
+tags: ["embedded",
+"gui",
+"lvgl",
+"no-std"]
+version: "1.0.0"
+short_description: "Bindings for the LVGL embedded GUI framework"
+dependencies: []
+configuration_variables: [{name: 'Builtin_Allocator_Size', type: 'Integer range 1 .. 1000000', default: "65536"},
+{name: 'Color_16_SWAP', type: 'Boolean', default: "false"},
+{name: 'Default_Font', type: 'Enum (dejavu_10, dejavu_20, dejavu_30, dejavu_40, monospace_8)', default: "dejavu_20"},
+{name: 'Density_Per_Inch', type: 'Integer range 1 .. 1000000'},
+{name: 'Double_Buffering', type: 'Boolean', default: "false"},
+{name: 'Horizontal_Resolution', type: 'Integer range 1 .. 1000000'},
+{name: 'Log_Level', type: 'Enum (Trace, Info, Warn, Error)', default: "Warn"},
+{name: 'Log_With_Printf', type: 'Boolean', default: "false"},
+{name: 'Pixel_Bit_Depth', type: 'Enum (Pix_1bit, Pix_8bit, Pix_16bit, Pix_32bit)'},
+{name: 'Theme_Live_Update', type: 'Boolean', default: "false"},
+{name: 'Use_Builtin_Allocator', type: 'Boolean', default: "true"},
+{name: 'Vertical_Resolution', type: 'Integer range 1 .. 1000000'},
+{name: 'Virtual_Display_Buffer_Size', type: 'Integer range 1 .. 1000000', default: "10240"}]
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lvgl_ada_examples.md b/_crates/lvgl_ada_examples.md
new file mode 100644
index 00000000..668100f4
--- /dev/null
+++ b/_crates/lvgl_ada_examples.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "lvgl_ada_examples"
+authors: []
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["MIT"]
+websites: []
+tags: ["gui",
+"lvgl"]
+version: "0.1.0"
+short_description: "Examples for the LVGL embedded GUI framework Ada binding"
+dependencies: [{crate: "lvgl_ada", version: "~0.1.0"},
+{crate: "lvgl_ada_simulator", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lvgl_ada_simulator.md b/_crates/lvgl_ada_simulator.md
new file mode 100644
index 00000000..56402795
--- /dev/null
+++ b/_crates/lvgl_ada_simulator.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "lvgl_ada_simulator"
+authors: ["Fabien Chouteau"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT"]
+websites: ["https://github.com/Fabien-Chouteau/lvgl-ada-simulator"]
+tags: ["gui",
+"lvgl",
+"simulator"]
+version: "1.0.0"
+short_description: "Native simulator of an LVGL display"
+dependencies: [{crate: "asfml", version: "^2.5.3"},
+{crate: "lvgl_ada", version: "^1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lzmada.md b/_crates/lzmada.md
new file mode 100644
index 00000000..858af139
--- /dev/null
+++ b/_crates/lzmada.md
@@ -0,0 +1,44 @@
+---
+layout: crate
+crate: "lzmada"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["MIT"]
+websites: ["https://gitlab.com/stcarrez/ada-lzma"]
+tags: ["compression",
+"lzma"]
+version: "1.1.3"
+short_description: "Ada LZMA Library Binding"
+dependencies: [{crate: "liblzma", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+A very thin Ada binding for the LZMA compression library.
+Roughly speaking, import some package:
+
+ with Lzma.Base;
+ with Lzma.Container;
+ with Lzma.Check;
+
+Then declare the LZMA stream:
+
+ Stream : aliased Lzma.Base.lzma_stream := Lzma.Base.LZMA_STREAM_INIT;
+
+Initialize the LZMA stream as decoder (or as encoder):
+
+ Result := Lzma.Container.lzma_stream_decoder (Stream'Unchecked_Access,
+ Long_Long_Integer'Last,
+ Lzma.Container.LZMA_CONCATENATED);
+
+Setup the stream 'next_out', 'avail_out', 'next_in' and 'avail_in' and call
+the lzma_code operation with the action (Lzma.Base.LZMA_RUN or Lzma.Base.LZMA_FINISH):
+
+ Result := Lzma.Base.lzma_code (Stream'Unchecked_Access, Action);
+
+Close the LZMA stream:
+
+ Lzma.Base.lzma_end (Stream'Unchecked_Access);
+
+
+
diff --git a/_crates/m4_tool.md b/_crates/m4_tool.md
new file mode 100644
index 00000000..ced17423
--- /dev/null
+++ b/_crates/m4_tool.md
@@ -0,0 +1 @@
+Not found: m4_tool*
diff --git a/_crates/mage.md b/_crates/mage.md
new file mode 100644
index 00000000..accfa55e
--- /dev/null
+++ b/_crates/mage.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "mage"
+authors: ["Leo Germond"]
+maintainers: ["Leo Germond "]
+licenses: ["Apache-2.0"]
+websites: ["www.gitlab.com/leogermond/mage"]
+tags: ["game",
+"engine",
+"sdl"]
+version: "0.6.1"
+short_description: "Mini Ada Game Engine - A very simple game engine written in Ada"
+dependencies: [{crate: "sdlada", version: "^2.5.4-1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/mage_hat.md b/_crates/mage_hat.md
new file mode 100644
index 00000000..1983d342
--- /dev/null
+++ b/_crates/mage_hat.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "mage_hat"
+authors: ["Léo Germond"]
+maintainers: ["Léo Germond "]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/leogermond/mage_hat"]
+tags: ["game",
+"demo",
+"magic"]
+version: "0.3.0"
+short_description: "A hat that jumps around and behaves magically"
+dependencies: [{crate: "mage", version: "~0.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/make.md b/_crates/make.md
new file mode 100644
index 00000000..f03d1530
--- /dev/null
+++ b/_crates/make.md
@@ -0,0 +1 @@
+Not found: make*
diff --git a/_crates/mandelbrot_ascii.md b/_crates/mandelbrot_ascii.md
new file mode 100644
index 00000000..c5e3e845
--- /dev/null
+++ b/_crates/mandelbrot_ascii.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "mandelbrot_ascii"
+authors: ["David Given"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: []
+websites: []
+tags: []
+version: "1.0.0"
+short_description: "Mandelbrot renderer using Unicode glyphs"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/markdown.md b/_crates/markdown.md
new file mode 100644
index 00000000..88b8e168
--- /dev/null
+++ b/_crates/markdown.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "markdown"
+authors: ["AdaCore"]
+maintainers: ["Max Reznik "]
+licenses: ["Apache-2.0"]
+websites: []
+tags: ["markdown",
+"gfm",
+"commonmark"]
+version: "23.0.0"
+short_description: "Markdown parser (draft)"
+dependencies: [{crate: "vss", version: ">=23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+The markdown parser is an early stage of development. Just a few element is implemented and API will change in the future.
+
diff --git a/_crates/mathpaqs.md b/_crates/mathpaqs.md
new file mode 100644
index 00000000..d7e248ff
--- /dev/null
+++ b/_crates/mathpaqs.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "mathpaqs"
+authors: ["Gautier de Montmollin"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["MIT"]
+websites: ["https://mathpaqs.sourceforge.io/"]
+tags: ["mathematics",
+"numerics",
+"algebra",
+"matrix",
+"probability",
+"statistics",
+"runge",
+"kutta",
+"runge-kutta"]
+version: "20230121.0.0"
+short_description: "A collection of mathematical, 100% portable, packages"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_amf.md b/_crates/matreshka_amf.md
new file mode 100644
index 00000000..52682257
--- /dev/null
+++ b/_crates/matreshka_amf.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "matreshka_amf"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["uml",
+"meta",
+"mof"]
+version: "21.0.0"
+short_description: "Implementation of OMG's Meta Object Facility (MOF)"
+dependencies: [{crate: "matreshka_league", version: "21.0.0"},
+{crate: "matreshka_xml", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_amf_dd.md b/_crates/matreshka_amf_dd.md
new file mode 100644
index 00000000..86b5e6cc
--- /dev/null
+++ b/_crates/matreshka_amf_dd.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "matreshka_amf_dd"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["uml",
+"meta",
+"diagram"]
+version: "21.0.0"
+short_description: "Diagram Definition (DD) specification support for AMF"
+dependencies: [{crate: "matreshka_amf", version: "21.0.0"},
+{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_amf_mofext.md b/_crates/matreshka_amf_mofext.md
new file mode 100644
index 00000000..d6af111e
--- /dev/null
+++ b/_crates/matreshka_amf_mofext.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "matreshka_amf_mofext"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["uml",
+"meta",
+"diagram"]
+version: "21.0.0"
+short_description: "The UML mofext for AMF"
+dependencies: [{crate: "matreshka_amf_uml", version: "21.0.0"},
+{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_amf_ocl.md b/_crates/matreshka_amf_ocl.md
new file mode 100644
index 00000000..77c939c5
--- /dev/null
+++ b/_crates/matreshka_amf_ocl.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "matreshka_amf_ocl"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["uml",
+"meta",
+"diagram",
+"ocl"]
+version: "21.0.0"
+short_description: "The UML OCL for AMF"
+dependencies: [{crate: "matreshka_amf_uml", version: "21.0.0"},
+{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_amf_uml.md b/_crates/matreshka_amf_uml.md
new file mode 100644
index 00000000..5bcdb4e2
--- /dev/null
+++ b/_crates/matreshka_amf_uml.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "matreshka_amf_uml"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["uml",
+"meta",
+"diagram"]
+version: "21.0.0"
+short_description: "Unified Modeling Language support for AMF"
+dependencies: [{crate: "matreshka_amf_dd", version: "21.0.0"},
+{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_amf_utp.md b/_crates/matreshka_amf_utp.md
new file mode 100644
index 00000000..feaed556
--- /dev/null
+++ b/_crates/matreshka_amf_utp.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "matreshka_amf_utp"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["uml",
+"meta",
+"diagram",
+"testing"]
+version: "21.0.0"
+short_description: "The UML Testing Profile for AMF"
+dependencies: [{crate: "matreshka_amf_uml", version: "21.0.0"},
+{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_fastcgi.md b/_crates/matreshka_fastcgi.md
new file mode 100644
index 00000000..ea4ab365
--- /dev/null
+++ b/_crates/matreshka_fastcgi.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "matreshka_fastcgi"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["web",
+"cgi",
+"http"]
+version: "21.0.0"
+short_description: "FastCGI implementation (demo)"
+dependencies: [{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_league.md b/_crates/matreshka_league.md
new file mode 100644
index 00000000..0edadc01
--- /dev/null
+++ b/_crates/matreshka_league.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "matreshka_league"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["unicode",
+"xml",
+"sax",
+"json",
+"encoding",
+"regexp",
+"time"]
+version: "21.0.0"
+short_description: "League - universal string library. Part of Matreshka framework"
+dependencies: [{crate: "make", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_servlet.md b/_crates/matreshka_servlet.md
new file mode 100644
index 00000000..1ce47e90
--- /dev/null
+++ b/_crates/matreshka_servlet.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "matreshka_servlet"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["web",
+"servlet",
+"http"]
+version: "21.0.0"
+short_description: "Servlet API"
+dependencies: [{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_soap.md b/_crates/matreshka_soap.md
new file mode 100644
index 00000000..53694049
--- /dev/null
+++ b/_crates/matreshka_soap.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "matreshka_soap"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["soap",
+"rpc",
+"protocol",
+"web"]
+version: "21.0.0"
+short_description: "Framework for work with SOAP 1.2"
+dependencies: [{crate: "matreshka_league", version: "21.0.0"},
+{crate: "matreshka_xml", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_soap_wsse.md b/_crates/matreshka_soap_wsse.md
new file mode 100644
index 00000000..edeee4c6
--- /dev/null
+++ b/_crates/matreshka_soap_wsse.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "matreshka_soap_wsse"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["soap",
+"wsse",
+"web"]
+version: "21.0.0"
+short_description: "WS-Security 1.1 implementation for SOAP 1.2"
+dependencies: [{crate: "matreshka_league", version: "21.0.0"},
+{crate: "matreshka_soap", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_spikedog_api.md b/_crates/matreshka_spikedog_api.md
new file mode 100644
index 00000000..d58de011
--- /dev/null
+++ b/_crates/matreshka_spikedog_api.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "matreshka_spikedog_api"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["web",
+"servlet"]
+version: "21.0.0"
+short_description: "Web-application server. API library"
+dependencies: [{crate: "matreshka_league", version: "21.0.0"},
+{crate: "matreshka_servlet", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_spikedog_awsd.md b/_crates/matreshka_spikedog_awsd.md
new file mode 100644
index 00000000..9e8b32a1
--- /dev/null
+++ b/_crates/matreshka_spikedog_awsd.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "matreshka_spikedog_awsd"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["web",
+"servlet"]
+version: "21.0.0"
+short_description: "Web-application server. API library"
+dependencies: [{crate: "aws", version: "*"},
+{crate: "matreshka_league", version: "21.0.0"},
+{crate: "matreshka_spikedog_core", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_spikedog_core.md b/_crates/matreshka_spikedog_core.md
new file mode 100644
index 00000000..068f8364
--- /dev/null
+++ b/_crates/matreshka_spikedog_core.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "matreshka_spikedog_core"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["web",
+"servlet"]
+version: "21.0.0"
+short_description: "Web-application server. Implementation library"
+dependencies: [{crate: "matreshka_league", version: "21.0.0"},
+{crate: "matreshka_spikedog_api", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_sql.md b/_crates/matreshka_sql.md
new file mode 100644
index 00000000..5a20f639
--- /dev/null
+++ b/_crates/matreshka_sql.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "matreshka_sql"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["sql",
+"database",
+"db"]
+version: "21.0.0"
+short_description: "Common SQL Database API"
+dependencies: [{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_sql_firebird.md b/_crates/matreshka_sql_firebird.md
new file mode 100644
index 00000000..9a1ee54f
--- /dev/null
+++ b/_crates/matreshka_sql_firebird.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "matreshka_sql_firebird"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["sql",
+"database",
+"db",
+"firebird"]
+version: "21.0.0"
+short_description: "Firebird SQL binding for Ada"
+dependencies: [{crate: "libfbclient", version: "*"},
+{crate: "matreshka_league", version: "21.0.0"},
+{crate: "matreshka_sql", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_sql_mysql.md b/_crates/matreshka_sql_mysql.md
new file mode 100644
index 00000000..45beb617
--- /dev/null
+++ b/_crates/matreshka_sql_mysql.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "matreshka_sql_mysql"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["sql",
+"database",
+"db",
+"mysql",
+"mariadb"]
+version: "21.0.0"
+short_description: "MySQL binding for Ada"
+dependencies: [{crate: "libmysqlclient", version: "*"},
+{crate: "matreshka_league", version: "21.0.0"},
+{crate: "matreshka_sql", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_sql_oracle.md b/_crates/matreshka_sql_oracle.md
new file mode 100644
index 00000000..d6fd1fad
--- /dev/null
+++ b/_crates/matreshka_sql_oracle.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "matreshka_sql_oracle"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["sql",
+"database",
+"db",
+"oracle"]
+version: "21.0.0"
+short_description: "Oracle DB binding for Ada"
+dependencies: [{crate: "libclntsh", version: "*"},
+{crate: "matreshka_league", version: "21.0.0"},
+{crate: "matreshka_sql", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_sql_postgresql.md b/_crates/matreshka_sql_postgresql.md
new file mode 100644
index 00000000..22212129
--- /dev/null
+++ b/_crates/matreshka_sql_postgresql.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "matreshka_sql_postgresql"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["sql",
+"database",
+"db",
+"postgresql"]
+version: "21.0.0"
+short_description: "PostgreSQL binding for Ada"
+dependencies: [{crate: "libpq", version: "*"},
+{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_sql_sqlite3.md b/_crates/matreshka_sql_sqlite3.md
new file mode 100644
index 00000000..e8924463
--- /dev/null
+++ b/_crates/matreshka_sql_sqlite3.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "matreshka_sql_sqlite3"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["sql",
+"database",
+"db",
+"sqlite"]
+version: "21.0.0"
+short_description: "SQLite binding for Ada"
+dependencies: [{crate: "libsqlite3", version: "*"},
+{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/matreshka_xml.md b/_crates/matreshka_xml.md
new file mode 100644
index 00000000..37c56eb3
--- /dev/null
+++ b/_crates/matreshka_xml.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "matreshka_xml"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/godunko/matreshka"]
+tags: ["xml",
+"dom",
+"catalog",
+"templates",
+"html5"]
+version: "21.0.0"
+short_description: "Library to manipulate with XML streams and documents"
+dependencies: [{crate: "matreshka_league", version: "21.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/mcp2221.md b/_crates/mcp2221.md
new file mode 100644
index 00000000..dca711b2
--- /dev/null
+++ b/_crates/mcp2221.md
@@ -0,0 +1,31 @@
+---
+layout: crate
+crate: "mcp2221"
+authors: ["Philip Munts"]
+maintainers: ["Philip Munts "]
+licenses: ["BSD-1-Clause"]
+websites: ["https://github.com/pmunts/libsimpleio"]
+tags: ["embedded",
+"linux",
+"mcp2221",
+"adc",
+"dac",
+"gpio",
+"i2c",
+"motor",
+"pwm",
+"sensor",
+"serial",
+"servo",
+"spi",
+"stepper"]
+version: "1.21136.1"
+short_description: "MCP2221 USB Raw HID I/O Expander Library for GNAT Ada"
+dependencies: [{crate: "libhidapi", version: "*"},
+{crate: "libusb", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/microbit_bsp.md b/_crates/microbit_bsp.md
new file mode 100644
index 00000000..bce5d764
--- /dev/null
+++ b/_crates/microbit_bsp.md
@@ -0,0 +1,33 @@
+---
+layout: crate
+crate: "microbit_bsp"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/AdaCore/Ada_Drivers_Library/"]
+tags: ["embedded",
+"nostd",
+"microbit",
+"bbc",
+"nrf51",
+"bsp"]
+version: "0.2.0"
+short_description: "Board Support Package for the BBC micro:bit v1"
+dependencies: [{crate: "embedded_components", version: "^0.1.0"},
+{crate: "hal", version: "^0.1.0"},
+{crate: "nrf5x_hal", version: "^0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# microbit BSP
+
+Board Support Package for the BBC micro:bit https://microbit.org/
+
+This crate is a snapshot of [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/tree/master/middleware).
+
+Any bug report, issue, contribution must be adressed to the [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/) repo.
+
+
diff --git a/_crates/microbit_examples.md b/_crates/microbit_examples.md
new file mode 100644
index 00000000..7f9c581b
--- /dev/null
+++ b/_crates/microbit_examples.md
@@ -0,0 +1,98 @@
+---
+layout: crate
+crate: "microbit_examples"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/AdaCore/Ada_Drivers_Library/"]
+tags: ["embedded",
+"nostd",
+"microbit",
+"nrf51"]
+version: "0.1.0"
+short_description: "Examples and tutorials for Ada on the BBC micro:bit"
+dependencies: [{crate: "microbit_bsp", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# microbit_examples
+
+This crate is a snapshot of the micro:bit examples in [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/tree/master/arch/ARM/cortex_m).
+
+Any bug report, issue, contribution must be adressed to the [Ada Drivers
+Library](https://github.com/AdaCore/Ada_Drivers_Library/) repo.
+
+The Micro:Bit is a very small ARM Cortex-M0 board designed by the BBC for
+computer education. It's fitted with a [Nordic
+nRF51](https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF51822)
+Bluetooth enabled microcontroller and an embedded programmer. You can get it
+at:
+
+ - [Pimoroni (UK/EU)](https://shop.pimoroni.com/collections/micro-bit/products/microbit)
+ - [Kitronik (UK/EU)](https://www.kitronik.co.uk/5613-bbc-microbit-board-only.html)
+ - [ThePiHut (UK/EU)](https://thepihut.com/collections/microbit/products/micro-bit)
+ - [AdaFruit (US)](https://www.adafruit.com/products/3530)
+
+# How to setup the Ada development environment for the Micro:Bit
+
+GNAT Community now comes with micro:bit and pyOCD support built-in. So you only
+need to download the ARM ELF and the native package from
+[here](https://www.adacore.com/download)
+
+## pyOCD programmer
+
+The Micro:Bit comes with an embedded programming/debugging probe implementing
+the
+[CMSIS-DAP](https://docs.mbed.com/docs/mbed-os-handbook/en/latest/advanced/DAP/)
+protocol defined by ARM.
+
+To use it on Linux, you might need privileges to access the USB ports without
+which the flash program will say "No connected boards".
+
+On Ubuntu, you can do it by creating (as administrator) the file
+/etc/udev/rules.d/mbed.rules and add the line:
+```
+SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", MODE="0666"
+```
+then restarting the service by doing
+
+```shell
+$ sudo udevadm trigger
+```
+
+## Open one of example projects and build it
+
+Start GNAT Programming studio (GPS) with Alire and one micro:bit example
+project:
+
+ - `alr edit analog_in/analog_in.gpr`
+ - `alr edit follower/follower.gpr`
+ - `alr edit digital_in/digital_in.gpr`
+ - `alr edit accelerometer/accelerometer.gpr`
+ - `alr edit buttons/buttons.gpr`
+ - `alr edit BLE_beacon/BLE_beacon.gpr`
+ - `alr edit digital_out/digital_out.gpr`
+ - `alr edit servos/servos.gpr`
+ - `alr edit neopixel/neopixel.gpr`
+ - `alr edit text_scrolling/text_scrolling.gpr`
+ - `alr edit analog_out/analog_out.gpr`
+ - `alr edit music/music.gpr`
+
+Press F4 and then press Enter to build the project.
+
+## Program the board
+
+Plug your micro:bit board with a USB cable, and wait for the system to
+recognize it. This can take a few seconds
+
+In the GPS toolbar, click on the "flash to board" button to program the
+micro:bit.
+
+After a few seconds, you should see a text scrolling on the LED matrix.
+
+That's it, you are ready to hack the micro:bit with Ada!
+
+
+
diff --git a/_crates/midi.md b/_crates/midi.md
new file mode 100644
index 00000000..5e6959c8
--- /dev/null
+++ b/_crates/midi.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "midi"
+authors: ["Fabien Chouteau"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT"]
+websites: ["https://github.com/Fabien-Chouteau/MIDI"]
+tags: ["midi",
+"embedded",
+"nostd"]
+version: "0.2.0"
+short_description: "Library to encode and decode MIDI messages"
+dependencies: [{crate: "bbqueue", version: "~0.3.0"},
+{crate: "gnat", version: ">=11"},
+{crate: "hal", version: "~0.3.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/minimal_containers.md b/_crates/minimal_containers.md
new file mode 100644
index 00000000..9afc8d67
--- /dev/null
+++ b/_crates/minimal_containers.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "minimal_containers"
+authors: ["Simon Wright"]
+maintainers: ["Simon Wright "]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/simonjwright/minimal_containers"]
+tags: ["containers"]
+version: "1.0.0"
+short_description: "Much reduced version of Ada.Containers (bounded Maps, Vectors)"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+The motivation for these containers was use in [ColdFrame](https://simonjwright.github.io/coldframe/), an open-source code generator backend for use with UML tools in a restricted environment (a BBC micro:bit).
+
+In such an environment, it's normal to strip out unused code and data at link time (`-gc-sections` with GNU `ld`, `-dead_strip` with Apple `ld`).
+
+Unfortunately, it turns out that no primitive subprograms of tagged types can be stripped (they are all referenced by the dispatch table).
+
+These containers are still tagged, because (without compiler extensions) ColdFrame expects to use prefixed notation (_object_._primitive subprogram (...)_, as would users). However, the number of subprograms has been much reduced.
+
+
diff --git a/_crates/minirest.md b/_crates/minirest.md
new file mode 100644
index 00000000..edcd0625
--- /dev/null
+++ b/_crates/minirest.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "minirest"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["MIT"]
+websites: ["https://github.com/mosteo/minirest"]
+tags: ["rest"]
+version: "0.2.0"
+short_description: "Minimalist Ada REST client library"
+dependencies: [{crate: "aaa", version: "~0.2.1|~0.3"},
+{crate: "curl", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/minisamd51_bsp.md b/_crates/minisamd51_bsp.md
new file mode 100644
index 00000000..351ff586
--- /dev/null
+++ b/_crates/minisamd51_bsp.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "minisamd51_bsp"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/Fabien-Chouteau/minisamd51_bsp"]
+tags: ["embedded",
+"nostd",
+"samd51",
+"minisam"]
+version: "0.1.0"
+short_description: "Board Support Package for the MiniSAM D51"
+dependencies: [{crate: "hal", version: "^0.1.0"},
+{crate: "samd51_hal", version: "^0.2.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/minisamd51_example.md b/_crates/minisamd51_example.md
new file mode 100644
index 00000000..b8938bc7
--- /dev/null
+++ b/_crates/minisamd51_example.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "minisamd51_example"
+authors: ["Fabien Chouteau "]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/Fabien-Chouteau/minisamd51_example"]
+tags: ["embedded",
+"nostd",
+"samd51",
+"minisam"]
+version: "0.1.1"
+short_description: "Example project for the MiniSAM D51"
+dependencies: [{crate: "minisamd51_bsp", version: "^0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/mold_lib.md b/_crates/mold_lib.md
new file mode 100644
index 00000000..1eba461d
--- /dev/null
+++ b/_crates/mold_lib.md
@@ -0,0 +1,70 @@
+---
+layout: crate
+crate: "mold_lib"
+authors: ["Francesc Rocher"]
+maintainers: ["Francesc Rocher "]
+licenses: ["MIT"]
+websites: ["https://rocher.github.io/mold"]
+tags: ["template",
+"template-engine",
+"template-repo"]
+version: "0.2.1"
+short_description: "Meta-variable Operations for Lean Development (lib)"
+dependencies: [{crate: "ada_toml", version: "~0.3.0"},
+{crate: "gnat", version: ">=2021 | (>=12 & <2000)"},
+{crate: "simple_logging", version: "^1.2.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Alire](https://img.shields.io/endpoint?url=https://alire.ada.dev/badges/mold_lib.json)](https://alire.ada.dev/crates/mold_lib.html)
+[![Alire CI/CD](https://img.shields.io/endpoint?url=https://alire-crate-ci.ada.dev/badges/mold_lib.json)](https://alire-crate-ci.ada.dev/crates/mold_lib.html)
+![unit-test](https://github.com/rocher/mold_lib/actions/workflows/unit-test.yml/badge.svg)
+[![GitHub release](https://img.shields.io/github/release/rocher/mold_lib.svg)](https://github.com/rocher/mold_lib/releases/latest)
+[![License](https://img.shields.io/github/license/rocher/mold_lib.svg?color=blue)](https://github.com/rocher/mold_lib/blob/master/LICENSE)
+
+## Welcome to **Mold**
+
+> **MOLD**: *Meta-variable Operations for Lean Development*
+
+Mold is a Template Processor, or Template Engine, to work with repository
+templates. The main motivation of Mold is to have repositories in GitHub used
+as template repositories to create new, customized repositories for other
+users.
+
+Main features supported in Mold include
+
+ * variable replacement in mold files (*.mold)
+
+ * for a given directory, variable replacement recursively for all mold files
+ in all subdirectories
+
+ * variable replacement in file names
+
+ * inclusion of other templates
+
+ * definition of variables with a simple TOML file
+
+Variable replacement can be specified as *normal*, *optional* or *mandatory*.
+For example, the variable `foo = "bar"` can be specified with `{{foo}}`,
+`{{?foo}}` (optional) or `{{#foo}}` (mandatory). The difference is the handling
+of errors when an undefined variable is encountered.
+
+All mold files must end with the extension `.mold`, for example
+`README.md.mold`. Destination files (with variables replaced) have the same
+name without the mold extension: `README.md`. This simplifies the work done in
+large subdirectories with few templates.
+
+This crate contains the Ada library and unit tests. For a CLI tool, please
+take a look at the crate `mold`.
+
+## Reference Guide
+
+Please visit [Mold documentation](https://rocher.github.io/mold) for more
+information.
+
+---
+## License
+MIT (c) 2023 Francesc Rocher
+
+
diff --git a/_crates/mos6502_create_led.md b/_crates/mos6502_create_led.md
new file mode 100644
index 00000000..51800a6a
--- /dev/null
+++ b/_crates/mos6502_create_led.md
@@ -0,0 +1,31 @@
+---
+layout: crate
+crate: "mos6502_create_led"
+authors: ["Martin Krischik "]
+maintainers: ["Martin Krischik "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://sourceforge.net/projects/tutorial-6502"]
+tags: ["mos-6502",
+"tools",
+"retrocomputing",
+"ada2022"]
+version: "1.5.0"
+short_description: "Create ROM with little program"
+dependencies: [{crate: "gnat", version: ">=12 & <2000"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This is a tool to create a rom image with little program.
+
+This program can be used to create a ROM immage for the MOS 6502 tutorial from Ben Eater.
+
+Development versions available with:
+
+```sh
+alr index --add "git+https://github.com/krischik/alire-index.git#develop" --name krischik
+```
+
+Source code and testsuite available on [SourceForge](https://git.code.sf.net/p/tutorial-6502/git)
+
+
diff --git a/_crates/mos6502_create_nop.md b/_crates/mos6502_create_nop.md
new file mode 100644
index 00000000..06aee48e
--- /dev/null
+++ b/_crates/mos6502_create_nop.md
@@ -0,0 +1,31 @@
+---
+layout: crate
+crate: "mos6502_create_nop"
+authors: ["Martin Krischik "]
+maintainers: ["Martin Krischik "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://sourceforge.net/projects/tutorial-6502"]
+tags: ["mos-6502",
+"tools",
+"retrocomputing",
+"ada2022"]
+version: "1.5.0"
+short_description: "Create NOP ROM"
+dependencies: [{crate: "gnat", version: ">=12 & <2000"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This is a tool to create a rom image with NOP commands.
+
+This program can be used to create a ROM immage for the MOS 6502 tutorial from Ben Eater.
+
+Development versions available with:
+
+```sh
+alr index --add "git+https://github.com/krischik/alire-index.git#develop" --name krischik
+```
+
+Source code and testsuite available on [SourceForge](https://git.code.sf.net/p/tutorial-6502/git)
+
+
diff --git a/_crates/mos6502_create_reset.md b/_crates/mos6502_create_reset.md
new file mode 100644
index 00000000..ca8e653d
--- /dev/null
+++ b/_crates/mos6502_create_reset.md
@@ -0,0 +1,31 @@
+---
+layout: crate
+crate: "mos6502_create_reset"
+authors: ["Martin Krischik "]
+maintainers: ["Martin Krischik "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://sourceforge.net/projects/tutorial-6502"]
+tags: ["mos-6502",
+"tools",
+"retrocomputing",
+"ada2022"]
+version: "1.5.0"
+short_description: "Create ROM with reset vector"
+dependencies: [{crate: "gnat", version: ">=12 & <2000"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This is a tool to create a rom image with reset vector.
+
+This program can be used to create a ROM immage for the MOS 6502 tutorial from Ben Eater.
+
+Development versions available with:
+
+```sh
+alr index --add "git+https://github.com/krischik/alire-index.git#develop" --name krischik
+```
+
+Source code and testsuite available on [SourceForge](https://git.code.sf.net/p/tutorial-6502/git)
+
+
diff --git a/_crates/msys2_runtime.md b/_crates/msys2_runtime.md
new file mode 100644
index 00000000..4850e2d2
--- /dev/null
+++ b/_crates/msys2_runtime.md
@@ -0,0 +1 @@
+Not found: msys2_runtime*
diff --git a/_crates/muntsos_beaglebone.md b/_crates/muntsos_beaglebone.md
new file mode 100644
index 00000000..481eff27
--- /dev/null
+++ b/_crates/muntsos_beaglebone.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "muntsos_beaglebone"
+authors: ["Philip Munts"]
+maintainers: ["Philip Munts "]
+licenses: []
+websites: ["https://github.com/pmunts/muntsos"]
+tags: ["muntsos",
+"embedded",
+"linux",
+"arm",
+"beaglebone"]
+version: "2.0.0"
+short_description: "MuntsOS Embedded Linux support for BeagleBone targets"
+dependencies: [{crate: "muntsos_dev_beaglebone", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/muntsos_dev_aarch64.md b/_crates/muntsos_dev_aarch64.md
new file mode 100644
index 00000000..c1448acc
--- /dev/null
+++ b/_crates/muntsos_dev_aarch64.md
@@ -0,0 +1 @@
+Not found: muntsos_dev_aarch64*
diff --git a/_crates/muntsos_dev_beaglebone.md b/_crates/muntsos_dev_beaglebone.md
new file mode 100644
index 00000000..9a95a99e
--- /dev/null
+++ b/_crates/muntsos_dev_beaglebone.md
@@ -0,0 +1 @@
+Not found: muntsos_dev_beaglebone*
diff --git a/_crates/muntsos_dev_raspberrypi1.md b/_crates/muntsos_dev_raspberrypi1.md
new file mode 100644
index 00000000..a25ce0cf
--- /dev/null
+++ b/_crates/muntsos_dev_raspberrypi1.md
@@ -0,0 +1 @@
+Not found: muntsos_dev_raspberrypi1*
diff --git a/_crates/muntsos_dev_raspberrypi2.md b/_crates/muntsos_dev_raspberrypi2.md
new file mode 100644
index 00000000..1faf8eee
--- /dev/null
+++ b/_crates/muntsos_dev_raspberrypi2.md
@@ -0,0 +1 @@
+Not found: muntsos_dev_raspberrypi2*
diff --git a/_crates/muntsos_raspberrypi1.md b/_crates/muntsos_raspberrypi1.md
new file mode 100644
index 00000000..97804c95
--- /dev/null
+++ b/_crates/muntsos_raspberrypi1.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "muntsos_raspberrypi1"
+authors: ["Philip Munts"]
+maintainers: ["Philip Munts "]
+licenses: []
+websites: ["https://github.com/pmunts/muntsos"]
+tags: ["muntsos",
+"embedded",
+"linux",
+"arm",
+"raspberrypi1"]
+version: "2.0.0"
+short_description: "MuntsOS Embedded Linux support for RaspberryPi1 targets"
+dependencies: [{crate: "muntsos_dev_raspberrypi1", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/muntsos_raspberrypi2.md b/_crates/muntsos_raspberrypi2.md
new file mode 100644
index 00000000..7d36ad78
--- /dev/null
+++ b/_crates/muntsos_raspberrypi2.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "muntsos_raspberrypi2"
+authors: ["Philip Munts"]
+maintainers: ["Philip Munts "]
+licenses: []
+websites: ["https://github.com/pmunts/muntsos"]
+tags: ["muntsos",
+"embedded",
+"linux",
+"arm",
+"raspberrypi2"]
+version: "2.0.0"
+short_description: "MuntsOS Embedded Linux support for RaspberryPi2 targets"
+dependencies: [{crate: "muntsos_dev_raspberrypi2", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/muntsos_raspberrypi3.md b/_crates/muntsos_raspberrypi3.md
new file mode 100644
index 00000000..9f8b6028
--- /dev/null
+++ b/_crates/muntsos_raspberrypi3.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "muntsos_raspberrypi3"
+authors: ["Philip Munts"]
+maintainers: ["Philip Munts "]
+licenses: []
+websites: ["https://github.com/pmunts/muntsos"]
+tags: ["muntsos",
+"embedded",
+"linux",
+"arm64",
+"raspberrypi3"]
+version: "2.0.0"
+short_description: "MuntsOS Embedded Linux support for RaspberryPi3 targets"
+dependencies: [{crate: "muntsos_dev_aarch64", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/muntsos_raspberrypi4.md b/_crates/muntsos_raspberrypi4.md
new file mode 100644
index 00000000..c8dc5aa4
--- /dev/null
+++ b/_crates/muntsos_raspberrypi4.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "muntsos_raspberrypi4"
+authors: ["Philip Munts"]
+maintainers: ["Philip Munts "]
+licenses: []
+websites: ["https://github.com/pmunts/muntsos"]
+tags: ["muntsos",
+"embedded",
+"linux",
+"arm64",
+"raspberrypi4"]
+version: "2.0.0"
+short_description: "MuntsOS Embedded Linux support for RaspberryPi4 targets"
+dependencies: [{crate: "muntsos_dev_aarch64", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ncursesada.md b/_crates/ncursesada.md
new file mode 100644
index 00000000..7bbf7655
--- /dev/null
+++ b/_crates/ncursesada.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "ncursesada"
+authors: ["Thomas E. Dickey",
+"Juergen Pfeifer",
+"Eric S Raymond",
+"Alexander V Lukyanov",
+"Philippe Blain",
+"Sven Verdoolaege",
+"Nicolas Boulenguez"]
+maintainers: ["Pascal Pignard "]
+licenses: ["X11 OR MIT"]
+websites: ["https://github.com/Blady-Com/ncurses"]
+tags: ["ncurses",
+"binding"]
+version: "6.3.0"
+short_description: "Ada binding to the ncurses text user interface library"
+dependencies: [{crate: "m4_tool", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/nrf5x_hal.md b/_crates/nrf5x_hal.md
new file mode 100644
index 00000000..1e770b47
--- /dev/null
+++ b/_crates/nrf5x_hal.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "nrf5x_hal"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/AdaCore/Ada_Drivers_Library/"]
+tags: ["embedded",
+"nostd",
+"nrf51",
+"nrf52",
+"nordic",
+"drivers",
+"ble"]
+version: "0.1.0"
+short_description: "Drivers and HAL for the Nordic nRF5X micro-controller family"
+dependencies: [{crate: "cortex_m", version: "~0.2.0"},
+{crate: "gnat_arm_elf", version: "^11.2"},
+{crate: "hal", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/openapi.md b/_crates/openapi.md
new file mode 100644
index 00000000..b2d14e58
--- /dev/null
+++ b/_crates/openapi.md
@@ -0,0 +1,58 @@
+---
+layout: crate
+crate: "openapi"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/openapi-ada"]
+tags: ["rest",
+"web",
+"api",
+"openapi"]
+version: "0.7.0"
+short_description: "OpenAPI library to build REST client applications"
+dependencies: [{crate: "security", version: "^1.5.0"},
+{crate: "utilada", version: "^2.6.0"},
+{crate: "utilada_xml", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/openapi-ada/badges/build.json)](https://porion.vacs.fr/porion/projects/view/openapi-ada/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/openapi-ada/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/openapi-ada/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/openapi-ada/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/openapi-ada/summary)
+
+[OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) is a code generator that supports generation of
+API client libraries, server stubs and documentation automatically
+given an [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification).
+
+The Ada client support has been integrated in [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator).
+
+The OpenAPI Ada library is a small support library for the Ada code generator
+provided by OpenAPI Generator. The library provides support to serialize the data,
+make HTTP requests and support the [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification)
+specific operations or types.
+
+## Alire setup
+
+```
+alr with openapi
+```
+
+For the HTTP connection, you can either use AWS or CURL and run one of the following commands:
+
+```
+alr with utilada_curl
+alr with utilada_aws
+```
+
+## Generation
+
+Example of client generation with OpenAPI file `my-api.yaml` and use of CURL support:
+
+```
+ alr exec -- openapi-generate-client -i my-api.yaml --additional-properties projectName=MyProject --additional-properties openApiName=OpenAPI --additional-properties httpSupport=Curl --model-package MyProject.MyModule -o .
+```
+
+
+
diff --git a/_crates/openapi_server.md b/_crates/openapi_server.md
new file mode 100644
index 00000000..29126334
--- /dev/null
+++ b/_crates/openapi_server.md
@@ -0,0 +1,66 @@
+---
+layout: crate
+crate: "openapi_server"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/openapi-ada"]
+tags: ["rest",
+"web",
+"api",
+"openapi"]
+version: "0.7.0"
+short_description: "OpenAPI library to build REST server applications"
+dependencies: [{crate: "openapi", version: "0.7.0"},
+{crate: "security", version: "^1.5.0"},
+{crate: "servletada", version: "^1.7.0"},
+{crate: "utilada", version: "^2.6.0"},
+{crate: "utilada_xml", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/openapi-ada/badges/build.json)](https://porion.vacs.fr/porion/projects/view/openapi-ada/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/openapi-ada/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/openapi-ada/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/openapi-ada/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/openapi-ada/summary)
+
+[OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) is a code generator that supports generation of
+API client libraries, server stubs and documentation automatically
+given an [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification).
+
+The Ada server support has been integrated in [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator).
+
+The OpenAPI Ada library is a small support library for the Ada code generator
+provided by OpenAPI Generator. The library provides support to serialize the data,
+make HTTP requests and support the [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification).
+specific operations or types.
+
+## Alire setup
+
+```
+alr with openapi_server
+```
+
+For the server part, you must choose a servlet web container that will handle the requests.
+Two web server implementations are provided:
+
+* [AWS](https://github.com/AdaCore/aws)
+* [EWS](https://github.com/simonjwright/ews)
+
+and you should run one of the following `alr` command depending on your choice:
+
+```
+alr with servletada_aws
+alr with servletada_ews
+```
+
+## Generation
+
+Example of server generation with OpenAPI file `my-api.yaml` and use of CURL support:
+
+```
+ alr exec -- openapi-generate-server -i my-api.yaml --additional-properties projectName=MyProject --additional-properties openApiName=OpenAPI --additional-properties httpSupport=Curl --model-package MyProject.MyModule -o .
+```
+
+
+
diff --git a/_crates/openglada.md b/_crates/openglada.md
new file mode 100644
index 00000000..83f4909c
--- /dev/null
+++ b/_crates/openglada.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "openglada"
+authors: ["Felix Krause"]
+maintainers: ["Felix Krause "]
+licenses: ["MIT"]
+websites: ["http://flyx.github.io/OpenGLAda/"]
+tags: ["opengl",
+"binding",
+"rendering",
+"graphics"]
+version: "0.9.0"
+short_description: "Thick Ada binding for OpenGL"
+dependencies: [{crate: "libx11", version: "^1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/openglada_glfw.md b/_crates/openglada_glfw.md
new file mode 100644
index 00000000..944b5f12
--- /dev/null
+++ b/_crates/openglada_glfw.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "openglada_glfw"
+authors: ["Felix Krause"]
+maintainers: ["Felix Krause "]
+licenses: ["MIT"]
+websites: ["http://flyx.github.io/OpenGLAda/"]
+tags: ["opengl",
+"glfw",
+"binding",
+"gui"]
+version: "0.9.0"
+short_description: "GLFW binding for use with OpenGLAda"
+dependencies: [{crate: "libglfw3", version: "^3"},
+{crate: "openglada", version: "~0.9.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/openglada_images.md b/_crates/openglada_images.md
new file mode 100644
index 00000000..d022c8cd
--- /dev/null
+++ b/_crates/openglada_images.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "openglada_images"
+authors: ["Felix Krause"]
+maintainers: ["Felix Krause "]
+licenses: ["MIT"]
+websites: ["http://flyx.github.io/OpenGLAda/"]
+tags: ["opengl",
+"rendering",
+"graphics"]
+version: "0.9.0"
+short_description: "Image loading library for OpenGLAda"
+dependencies: [{crate: "gid", version: "^9.0.0"},
+{crate: "openglada", version: "~0.9.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/openglada_text.md b/_crates/openglada_text.md
new file mode 100644
index 00000000..23a8fee3
--- /dev/null
+++ b/_crates/openglada_text.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "openglada_text"
+authors: ["Felix Krause"]
+maintainers: ["Felix Krause "]
+licenses: ["MIT"]
+websites: ["http://flyx.github.io/OpenGLAda/"]
+tags: ["opengl",
+"rendering",
+"fonts"]
+version: "0.9.0"
+short_description: "Text rendering library for OpenGLAda"
+dependencies: [{crate: "freetypeada", version: "~0.1.0"},
+{crate: "openglada", version: "~0.9.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/openssl.md b/_crates/openssl.md
new file mode 100644
index 00000000..1dc3a2ae
--- /dev/null
+++ b/_crates/openssl.md
@@ -0,0 +1 @@
+Not found: openssl*
diff --git a/_crates/optional.md b/_crates/optional.md
new file mode 100644
index 00000000..1f88b29f
--- /dev/null
+++ b/_crates/optional.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "optional"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["LGPL-3.0-only"]
+websites: ["https://github.com/mosteo/optional/"]
+tags: ["optional",
+"functional"]
+version: "0.1.0"
+short_description: "Optional values a la java.lang.Optional"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka.md b/_crates/orka.md
new file mode 100644
index 00000000..912cab7b
--- /dev/null
+++ b/_crates/orka.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "orka"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["azdo",
+"egl",
+"opengl",
+"orka",
+"rendering",
+"graphics",
+"game",
+"engine",
+"ktx",
+"gltf"]
+version: "1.0.0"
+short_description: "OpenGL 4.6 rendering kernel written in Ada 2012"
+dependencies: [{crate: "orka_egl", version: "~1.0.0"},
+{crate: "orka_opengl", version: "~1.0.0"},
+{crate: "orka_simd", version: "~1.0.0"},
+{crate: "orka_transforms", version: "~1.0.0"},
+{crate: "orka_types", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_awt.md b/_crates/orka_awt.md
new file mode 100644
index 00000000..db247a5d
--- /dev/null
+++ b/_crates/orka_awt.md
@@ -0,0 +1,33 @@
+---
+layout: crate
+crate: "orka_awt"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["egl",
+"wayland",
+"windows",
+"graphics",
+"opengl",
+"input",
+"gamepad"]
+version: "1.0.0"
+short_description: "Ada Window Toolkit"
+dependencies: [{crate: "evdev", version: "^2.0.2"},
+{crate: "inotify", version: "^2.0.1"},
+{crate: "orka_egl", version: "~1.0.0"},
+{crate: "wayland_client_ada", version: "~1.0.0"},
+{crate: "wayland_cursor_ada", version: "~1.0.0"},
+{crate: "wayland_egl_ada", version: "~1.0.0"},
+{crate: "wayland_protocols_ada", version: "~1.0.0"},
+{crate: "orka", version: "~1.0.0"},
+{crate: "orka_numerics", version: "~1.0.0"},
+{crate: "orka_tensors_cpu", version: "~1.0.0"},
+{crate: "orka_transforms", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_egl.md b/_crates/orka_egl.md
new file mode 100644
index 00000000..2f772af8
--- /dev/null
+++ b/_crates/orka_egl.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "orka_egl"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["egl",
+"opengl",
+"orka"]
+version: "1.0.0"
+short_description: "Ada 2012 bindings for EGL"
+dependencies: [{crate: "libegl", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_numerics.md b/_crates/orka_numerics.md
new file mode 100644
index 00000000..dd17a606
--- /dev/null
+++ b/_crates/orka_numerics.md
@@ -0,0 +1,32 @@
+---
+layout: crate
+crate: "orka_numerics"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["orka",
+"math",
+"vector",
+"matrix",
+"ndarray",
+"tensor",
+"numpy",
+"random",
+"statistics",
+"integration",
+"rk4",
+"kalman",
+"optimization",
+"leastsquares",
+"linearalgebra",
+"linalg"]
+version: "1.0.0"
+short_description: "Tensors (multidimensional arrays) and integrators"
+dependencies: [{crate: "orka_types", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_opengl.md b/_crates/orka_opengl.md
new file mode 100644
index 00000000..198a229b
--- /dev/null
+++ b/_crates/orka_opengl.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "orka_opengl"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["azdo",
+"egl",
+"opengl",
+"orka",
+"rendering",
+"graphics"]
+version: "1.0.0"
+short_description: "OpenGL 4.6 backend for the Orka rendering engine"
+dependencies: [{crate: "orka_egl", version: "~1.0.0"},
+{crate: "orka_types", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_plugin_archives.md b/_crates/orka_plugin_archives.md
new file mode 100644
index 00000000..b6d099e4
--- /dev/null
+++ b/_crates/orka_plugin_archives.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "orka_plugin_archives"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["orka",
+"zip",
+"dcf"]
+version: "1.0.0"
+short_description: "Orka plug-in to load resources from Zip archives"
+dependencies: [{crate: "dcf", version: "^2.0.3"},
+{crate: "orka", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_plugin_atmosphere.md b/_crates/orka_plugin_atmosphere.md
new file mode 100644
index 00000000..9c337b5e
--- /dev/null
+++ b/_crates/orka_plugin_atmosphere.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "orka_plugin_atmosphere"
+authors: ["onox",
+"Eric Bruneton"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0 AND BSD-3-Clause"]
+websites: ["https://github.com/onox/orka"]
+tags: ["atmosphere",
+"earth",
+"orka"]
+version: "1.0.0"
+short_description: "Orka plug-in for precomputed atmospheric scattering"
+dependencies: [{crate: "orka", version: "~1.0.0"},
+{crate: "orka_transforms", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_plugin_gltf.md b/_crates/orka_plugin_gltf.md
new file mode 100644
index 00000000..4811f54c
--- /dev/null
+++ b/_crates/orka_plugin_gltf.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "orka_plugin_gltf"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["gltf",
+"orka"]
+version: "1.0.0"
+short_description: "Orka plug-in for loading glTF models"
+dependencies: [{crate: "json", version: "^5.0.3"},
+{crate: "orka", version: "~1.0.0"},
+{crate: "orka_transforms", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_plugin_terrain.md b/_crates/orka_plugin_terrain.md
new file mode 100644
index 00000000..ae10b3ca
--- /dev/null
+++ b/_crates/orka_plugin_terrain.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "orka_plugin_terrain"
+authors: ["onox",
+"Jonathan Dupuy"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0 AND MIT"]
+websites: ["https://github.com/onox/orka"]
+tags: ["terrain",
+"orka"]
+version: "1.0.0"
+short_description: "Orka plug-in for adaptive tessellated flattened spheroids"
+dependencies: [{crate: "orka", version: "~1.0.0"},
+{crate: "orka_plugin_atmosphere", version: "~1.0.0"},
+{crate: "orka_transforms", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_simd.md b/_crates/orka_simd.md
new file mode 100644
index 00000000..45c8905d
--- /dev/null
+++ b/_crates/orka_simd.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "orka_simd"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["orka",
+"simd",
+"sse",
+"avx",
+"fma",
+"f16c"]
+version: "1.0.0"
+short_description: "Bindings for x86 SIMD extensions like SSE, AVX2, FMA, F16C"
+dependencies: [{crate: "orka_types", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_tensors_cpu.md b/_crates/orka_tensors_cpu.md
new file mode 100644
index 00000000..04f65fb2
--- /dev/null
+++ b/_crates/orka_tensors_cpu.md
@@ -0,0 +1,31 @@
+---
+layout: crate
+crate: "orka_tensors_cpu"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["orka",
+"math",
+"vector",
+"matrix",
+"ndarray",
+"tensor",
+"numpy",
+"random",
+"statistics",
+"leastsquares",
+"linearalgebra",
+"linalg",
+"simd"]
+version: "1.0.0"
+short_description: "Tensors using SIMD instructions on the CPU"
+dependencies: [{crate: "orka_numerics", version: "~1.0.0"},
+{crate: "orka_simd", version: "~1.0.0"},
+{crate: "orka_types", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_tensors_gpu.md b/_crates/orka_tensors_gpu.md
new file mode 100644
index 00000000..30ae88b1
--- /dev/null
+++ b/_crates/orka_tensors_gpu.md
@@ -0,0 +1,35 @@
+---
+layout: crate
+crate: "orka_tensors_gpu"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["orka",
+"math",
+"vector",
+"matrix",
+"ndarray",
+"tensor",
+"numpy",
+"random",
+"statistics",
+"leastsquares",
+"linearalgebra",
+"linalg",
+"gpu",
+"gpgpu",
+"compute",
+"shaders"]
+version: "1.0.0"
+short_description: "Tensors using compute shaders on the GPU"
+dependencies: [{crate: "gnat", version: ">=12"},
+{crate: "orka", version: "~1.0.0"},
+{crate: "orka_numerics", version: "~1.0.0"},
+{crate: "orka_types", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_tools.md b/_crates/orka_tools.md
new file mode 100644
index 00000000..8e5d9580
--- /dev/null
+++ b/_crates/orka_tools.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "orka_tools"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["gltf",
+"ktx",
+"opengl",
+"orka"]
+version: "1.0.0"
+short_description: "Tools for the Orka rendering kernel"
+dependencies: [{crate: "orka", version: "~1.0.0"},
+{crate: "orka_awt", version: "~1.0.0"},
+{crate: "orka_plugin_gltf", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_transforms.md b/_crates/orka_transforms.md
new file mode 100644
index 00000000..523b7a22
--- /dev/null
+++ b/_crates/orka_transforms.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "orka_transforms"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["orka",
+"math",
+"vector",
+"matrix",
+"quaternion"]
+version: "1.0.0"
+short_description: "Library to transform vectors, matrices, and quaternions using SIMD"
+dependencies: [{crate: "orka_simd", version: "~1.0.0"},
+{crate: "orka_types", version: "~1.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/orka_types.md b/_crates/orka_types.md
new file mode 100644
index 00000000..5ce06a96
--- /dev/null
+++ b/_crates/orka_types.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "orka_types"
+authors: ["onox"]
+maintainers: ["onox "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/onox/orka"]
+tags: ["orka"]
+version: "1.0.0"
+short_description: "Data types for Orka"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/parse_args.md b/_crates/parse_args.md
new file mode 100644
index 00000000..fb71b56a
--- /dev/null
+++ b/_crates/parse_args.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "parse_args"
+authors: ["James Humphry"]
+maintainers: ["James Humphry "]
+licenses: ["ISC"]
+websites: ["https://github.com/jhumphry/parse_args"]
+tags: ["cli",
+"command-line"]
+version: "0.9.0"
+short_description: "An Ada 2012 package to parse command line arguments and options"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/partord.md b/_crates/partord.md
new file mode 100644
index 00000000..b8f83c14
--- /dev/null
+++ b/_crates/partord.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "partord"
+authors: ["Riccardo Bernardini"]
+maintainers: ["Riccardo Bernardini "]
+licenses: ["MIT"]
+websites: ["https://gitlab.com/my-ada-library/partord/"]
+tags: ["sorting"]
+version: "1.0.0"
+short_description: "Small library for sorting with partial orders"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+This is a generic library that exports a sorting function that can operate with partial ordering, that is, it can happen that for some A /= B neither A < B nor A > B hold.
+
diff --git a/_crates/pbkdf2.md b/_crates/pbkdf2.md
new file mode 100644
index 00000000..baf07ac1
--- /dev/null
+++ b/_crates/pbkdf2.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "pbkdf2"
+authors: ["Anton Fediushin"]
+maintainers: ["Anton Fediushin "]
+licenses: ["ISC"]
+websites: ["https://github.com/AntonMeep/pbkdf2"]
+tags: ["cryptography",
+"security",
+"pbkdf2"]
+version: "3.0.0"
+short_description: "PBKDF2 implemented in Ada"
+dependencies: [{crate: "hmac", version: "^2.0.0"},
+{crate: "sha1", version: "^2.0.0"},
+{crate: "sha2", version: "^2.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/pico_bsp.md b/_crates/pico_bsp.md
new file mode 100644
index 00000000..3a17a5b3
--- /dev/null
+++ b/_crates/pico_bsp.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "pico_bsp"
+authors: ["Jeremy Grosser"]
+maintainers: ["Jeremy Grosser "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://pico-doc.synack.me/"]
+tags: ["embedded",
+"nostd",
+"raspberrypi",
+"pico",
+"rp2040",
+"bsp"]
+version: "2.0.0"
+short_description: "Board support package for Raspberry Pi Pico"
+dependencies: [{crate: "hal", version: "~0.3"},
+{crate: "rp2040_hal", version: "^2.0"}]
+configuration_variables: []
+configuration_values: [{crate: 'rp2040_hal', settings: [{name: 'Flash_Chip', value: "w25qxx"}]}]
+
+---
+
+
diff --git a/_crates/pico_examples.md b/_crates/pico_examples.md
new file mode 100644
index 00000000..2553f6f0
--- /dev/null
+++ b/_crates/pico_examples.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "pico_examples"
+authors: ["Jeremy Grosser"]
+maintainers: ["Jeremy Grosser "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://pico-doc.synack.me/"]
+tags: ["embedded",
+"nostd",
+"pico",
+"rp2040"]
+version: "2.0.0"
+short_description: "Examples for Ada on the Raspberry Pi Pico"
+dependencies: [{crate: "chests", version: "~0.1.1"},
+{crate: "gnat_arm_elf", version: "^12"},
+{crate: "pico_bsp", version: "^2.0"},
+{crate: "rp2040_hal", version: "^2.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/pkg_config.md b/_crates/pkg_config.md
new file mode 100644
index 00000000..baa12c9d
--- /dev/null
+++ b/_crates/pkg_config.md
@@ -0,0 +1 @@
+Not found: pkg_config*
diff --git a/_crates/play_2048.md b/_crates/play_2048.md
new file mode 100644
index 00000000..17092818
--- /dev/null
+++ b/_crates/play_2048.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "play_2048"
+authors: ["Manuel Gomez"]
+maintainers: ["Manuel Gomez "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/mgrojo/play_2048/"]
+tags: ["game",
+"puzzle",
+"cross-platform",
+"sfml"]
+version: "1.0.0"
+short_description: "2048 game: merge tiles with the same number until you add up to 2048"
+dependencies: [{crate: "asfml", version: "^2.5.0"},
+{crate: "ada_toml", version: "~0.2.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/plplot.md b/_crates/plplot.md
new file mode 100644
index 00000000..b5da4499
--- /dev/null
+++ b/_crates/plplot.md
@@ -0,0 +1 @@
+Not found: plplot*
diff --git a/_crates/postgresql.md b/_crates/postgresql.md
new file mode 100644
index 00000000..5556805c
--- /dev/null
+++ b/_crates/postgresql.md
@@ -0,0 +1 @@
+Not found: postgresql*
diff --git a/_crates/powerjoular.md b/_crates/powerjoular.md
new file mode 100644
index 00000000..32d5f0b5
--- /dev/null
+++ b/_crates/powerjoular.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "powerjoular"
+authors: ["Adel Noureddine"]
+maintainers: ["Adel Noureddine "]
+licenses: ["GPL-3.0-only"]
+websites: ["https://www.noureddine.org/research/joular/powerjoular"]
+tags: ["linux",
+"power",
+"energy"]
+version: "0.6.0"
+short_description: "Monitoring the power consumption of multiple platforms and processes"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ppag.md b/_crates/ppag.md
new file mode 100644
index 00000000..e6d11b8a
--- /dev/null
+++ b/_crates/ppag.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "ppag"
+authors: ["Pascal Pignard"]
+maintainers: ["Pascal Pignard "]
+licenses: ["CECILL-2.1"]
+websites: ["https://github.com/Blady-Com/Exemples-PPAG"]
+tags: ["gnoga",
+"tutorial"]
+version: "2.1.1"
+short_description: "First steps with Gnoga"
+dependencies: [{crate: "gnoga", version: "^2.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/program_proofs_in_spark.md b/_crates/program_proofs_in_spark.md
new file mode 100644
index 00000000..950ad77c
--- /dev/null
+++ b/_crates/program_proofs_in_spark.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "program_proofs_in_spark"
+authors: ["Yannick Moy"]
+maintainers: ["Yannick Moy "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/AdaCore/program_proofs_in_spark"]
+tags: ["spark"]
+version: "0.1.1"
+short_description: "Programs from the book Program Proofs in SPARK"
+dependencies: [{crate: "gnat", version: ">=12 & <2000"},
+{crate: "gnatprove", version: "^12.1.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/progress_indicators.md b/_crates/progress_indicators.md
new file mode 100644
index 00000000..2f40de4d
--- /dev/null
+++ b/_crates/progress_indicators.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "progress_indicators"
+authors: ["the progress_indicators authors"]
+maintainers: ["Paul Jarrett "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/pyjarrett/progress_indicators"]
+tags: ["command-line",
+"console",
+"terminal",
+"progress"]
+version: "0.0.1"
+short_description: "Ways of displaying progress in command line tools."
+dependencies: [{crate: "ansiada", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/protobuf.md b/_crates/protobuf.md
new file mode 100644
index 00000000..81091d5c
--- /dev/null
+++ b/_crates/protobuf.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "protobuf"
+authors: ["Maxim Reznik"]
+maintainers: ["Maxim Reznik "]
+licenses: ["MIT"]
+websites: ["https://github.com/reznikmm/protobuf"]
+tags: ["protocol",
+"rpc",
+"generator"]
+version: "1.0.0"
+short_description: "Google Protocol Buffers implementation in Ada"
+dependencies: [{crate: "ada_pretty", version: "*"},
+{crate: "matreshka_league", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/pygamer_bsp.md b/_crates/pygamer_bsp.md
new file mode 100644
index 00000000..030b1ef5
--- /dev/null
+++ b/_crates/pygamer_bsp.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "pygamer_bsp"
+authors: []
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["BSD-3-Clause"]
+websites: []
+tags: ["embedded",
+"nostd",
+"pygamer",
+"adafruit",
+"game",
+"console",
+"bsp"]
+version: "1.0.0"
+short_description: "Board Support Package for the AdaFruit PyGamer"
+dependencies: [{crate: "cortex_m", version: "~0.1.0"},
+{crate: "samd51_hal", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/pygamer_simulator.md b/_crates/pygamer_simulator.md
new file mode 100644
index 00000000..fc177db9
--- /dev/null
+++ b/_crates/pygamer_simulator.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "pygamer_simulator"
+authors: []
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/Fabien-Chouteau/pygamer-simulator"]
+tags: ["pygamer",
+"adafruit",
+"game",
+"console",
+"simulator"]
+version: "1.0.0"
+short_description: "SDL simulator of the AdaFruit PyGamer console"
+dependencies: [{crate: "asfml", version: "2.5.1"},
+{crate: "hal", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/qoi.md b/_crates/qoi.md
new file mode 100644
index 00000000..111ceb3b
--- /dev/null
+++ b/_crates/qoi.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "qoi"
+authors: ["Fabien Chouteau",
+"Joffrey Huguet"]
+maintainers: ["Fabien-Chouteau ",
+"Joffrey Huguet "]
+licenses: ["MIT"]
+websites: ["https://github.com/Fabien-Chouteau/qoi-spark"]
+tags: ["image",
+"encoding",
+"qoi"]
+version: "0.1.0"
+short_description: "Ada/SPARK implementation of the Quite Ok Image format"
+dependencies: [{crate: "gnat", version: ">=11.2"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/raspberry_bsp.md b/_crates/raspberry_bsp.md
new file mode 100644
index 00000000..ceaeb361
--- /dev/null
+++ b/_crates/raspberry_bsp.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "raspberry_bsp"
+authors: ["Tama McGlinn"]
+maintainers: ["Tama McGlinn "]
+licenses: ["MIT"]
+websites: ["https://github.com/TamaMcGlinn/ada_raspio"]
+tags: ["raspberry",
+"pi"]
+version: "1.0.0"
+short_description: "Board Support package for Raspberry PI v1, v2 and B+"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/rclada.md b/_crates/rclada.md
new file mode 100644
index 00000000..cd431b7f
--- /dev/null
+++ b/_crates/rclada.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "rclada"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["LGPL-3.0-only"]
+websites: ["https://github.com/ada-ros/ada4ros2"]
+tags: ["ros",
+"robotics",
+"client"]
+version: "0.1.0"
+short_description: "ROS2 Ada Client Library"
+dependencies: [{crate: "ros2_foxy", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/rclada_examples.md b/_crates/rclada_examples.md
new file mode 100644
index 00000000..6b58d07b
--- /dev/null
+++ b/_crates/rclada_examples.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "rclada_examples"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["LGPL-3.0-only"]
+websites: ["https://github.com/ada-ros/ada4ros2"]
+tags: ["ros",
+"robotics",
+"client"]
+version: "0.1.0"
+short_description: "ROS2 Ada Client Library - Examples"
+dependencies: [{crate: "rclada", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/re2c.md b/_crates/re2c.md
new file mode 100644
index 00000000..fa42cf5a
--- /dev/null
+++ b/_crates/re2c.md
@@ -0,0 +1 @@
+Not found: re2c*
diff --git a/_crates/rejuvenation.md b/_crates/rejuvenation.md
new file mode 100644
index 00000000..7c044e26
--- /dev/null
+++ b/_crates/rejuvenation.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "rejuvenation"
+authors: ["Pierre van de Laar",
+"Arjan J. Mooij"]
+maintainers: ["Pierre van de Laar "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/TNO/Rejuvenation-Ada"]
+tags: ["analysis",
+"manipulation",
+"transformation"]
+version: "23.0.0"
+short_description: "Analysis and manipulation of Ada code based on concrete patterns"
+dependencies: [{crate: "libadalang", version: "^23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/remoteio.md b/_crates/remoteio.md
new file mode 100644
index 00000000..8599eae4
--- /dev/null
+++ b/_crates/remoteio.md
@@ -0,0 +1,31 @@
+---
+layout: crate
+crate: "remoteio"
+authors: ["Philip Munts"]
+maintainers: ["Philip Munts "]
+licenses: ["BSD-1-Clause"]
+websites: ["https://github.com/pmunts/libsimpleio"]
+tags: ["embedded",
+"linux",
+"remoteio",
+"adc",
+"dac",
+"gpio",
+"i2c",
+"motor",
+"pwm",
+"sensor",
+"serial",
+"servo",
+"spi",
+"stepper"]
+version: "1.21136.1"
+short_description: "Remote I/O Protocol Client Library for GNAT Ada"
+dependencies: [{crate: "libhidapi", version: "*"},
+{crate: "libusb", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/resources.md b/_crates/resources.md
new file mode 100644
index 00000000..ff12a90a
--- /dev/null
+++ b/_crates/resources.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "resources"
+authors: ["Alire Team"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT"]
+websites: ["https://github.com/alire-project/resources"]
+tags: ["utils"]
+version: "0.1.0"
+short_description: "Utility library to handle project resources at run-time"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/rewriters.md b/_crates/rewriters.md
new file mode 100644
index 00000000..a6020b23
--- /dev/null
+++ b/_crates/rewriters.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "rewriters"
+authors: ["Pierre van de Laar"]
+maintainers: ["Pierre van de Laar "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/TNO/Rewriters-Ada"]
+tags: ["manipulation",
+"transformation"]
+version: "23.0.0"
+short_description: "Easy, yet advanced manipulation of Ada code"
+dependencies: [{crate: "libadalang", version: "^23.0.0"},
+{crate: "rejuvenation", version: "^23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/ros2_foxy.md b/_crates/ros2_foxy.md
new file mode 100644
index 00000000..37e502a0
--- /dev/null
+++ b/_crates/ros2_foxy.md
@@ -0,0 +1 @@
+Not found: ros2_foxy*
diff --git a/_crates/rp2040_hal.md b/_crates/rp2040_hal.md
new file mode 100644
index 00000000..86f5be34
--- /dev/null
+++ b/_crates/rp2040_hal.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "rp2040_hal"
+authors: ["Jeremy Grosser"]
+maintainers: ["Jeremy Grosser "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://pico-doc.synack.me/"]
+tags: ["embedded",
+"nostd",
+"rp2040",
+"raspberrypi",
+"drivers"]
+version: "2.0.1"
+short_description: "Drivers and HAL for the RP2040 micro-controller family"
+dependencies: [{crate: "atomic", version: "~0.5"},
+{crate: "cortex_m", version: "~0.5"},
+{crate: "gnat_arm_elf", version: "^12.2"},
+{crate: "hal", version: "~0.3"},
+{crate: "usb_embedded", version: "~0.3"}]
+configuration_variables: [{name: 'Flash_Chip', type: 'Enum (w25qxx, generic_qspi, generic_03)', default: "w25qxx"},
+{name: 'Interrupts', type: 'Enum (hal, bb_runtimes)', default: "hal"},
+{name: 'Use_Startup', type: 'Boolean', default: "true"}]
+configuration_values: [{crate: 'atomic', settings: [{name: 'Backend', value: "armv6m"}]},
+{crate: 'cortex_m', settings: [{name: 'core', value: "m0p"}]}]
+
+---
+
+
diff --git a/_crates/rsfile.md b/_crates/rsfile.md
new file mode 100644
index 00000000..0727fb98
--- /dev/null
+++ b/_crates/rsfile.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "rsfile"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["GPL-3.0-only"]
+websites: []
+tags: ["command-line",
+"tool",
+"random",
+"file-size"]
+version: "1.0.1"
+short_description: "Randomly pick a file with probability proportional to its size"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/rtmidi.md b/_crates/rtmidi.md
new file mode 100644
index 00000000..78c84ae2
--- /dev/null
+++ b/_crates/rtmidi.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "rtmidi"
+authors: ["Fabien Chouteau"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT"]
+websites: ["https://github.com/Fabien-Chouteau/rtmidi_ada"]
+tags: ["midi",
+"rtmidi",
+"music"]
+version: "0.1.0"
+short_description: "Ada \"middleweight\" binding for the rtMIDI library"
+dependencies: [{crate: "librtmidi", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/rxada.md b/_crates/rxada.md
new file mode 100644
index 00000000..88167afd
--- /dev/null
+++ b/_crates/rxada.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "rxada"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["LGPL-3.0-only"]
+websites: ["https://github.com/mosteo/rxada"]
+tags: ["rx",
+"reactive",
+"reactivex",
+"observer"]
+version: "0.1.1"
+short_description: "Experimental implementation of ReactiveX in Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/saatana.md b/_crates/saatana.md
new file mode 100644
index 00000000..6d82ea66
--- /dev/null
+++ b/_crates/saatana.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "saatana"
+authors: []
+maintainers: ["vinzent@heisenbug.eu"]
+licenses: ["WTFPL"]
+websites: ["https://github.heisenbug.eu/Saatana"]
+tags: ["cryptography",
+"spark"]
+version: "2.0.2"
+short_description: "SPARK/Ada Algorithms Targeting Advanced Network Applications"
+dependencies: [{crate: "gnat", version: "^2020"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Saatana - SPARK/Ada Algorithms Targeting Advanced Network Applications
+A collection of cryptographic algorithms, proven for correctness in SPARK.
+
+Currently contains [![Phelix](https://www.schneier.com/academic/archives/2005/01/phelix.html)](https://www.schneier.com/academic/archives/2005/01/phelix.html)
+
+
diff --git a/_crates/samd51_hal.md b/_crates/samd51_hal.md
new file mode 100644
index 00000000..9bfebd61
--- /dev/null
+++ b/_crates/samd51_hal.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "samd51_hal"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/Fabien-Chouteau/samd51-hal"]
+tags: ["embedded",
+"nostd",
+"atsamd51",
+"microchip",
+"atmel",
+"drivers"]
+version: "0.3.0"
+short_description: "Drivers and HAL for the SAMD51 micro-controller family"
+dependencies: [{crate: "cortex_m", version: "~0.1"},
+{crate: "gnat_arm_elf", version: "^11.2.2"},
+{crate: "hal", version: "~0.1"},
+{crate: "usb_embedded", version: "~0.2"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/scripted_testing.md b/_crates/scripted_testing.md
new file mode 100644
index 00000000..773013e5
--- /dev/null
+++ b/_crates/scripted_testing.md
@@ -0,0 +1,46 @@
+---
+layout: crate
+crate: "scripted_testing"
+authors: ["Simon Wright"]
+maintainers: ["Simon Wright "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/simonjwright/scripted_testing.git"]
+tags: ["testing",
+"integration",
+"scripting"]
+version: "2.0.0"
+short_description: "Integration testing"
+dependencies: [{crate: "tash", version: "^8.7.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+To set the scene, the Ada software under test (SUT) forms part of a system. Generally, the system will be constructed using a layered approach, and the other parts of the system that interact with the SUT are higher-level (which can call interface subprograms presented by the SUT) or lower-level (whose interfaces can be called by the SUT, or which can provide callbacks to the SUT).
+
+This package is intended for testing at a level between unit testing (using, for example, [AUnit](https://github.com/AdaCore/aunit)) and integration testing (using real hardware). Unit testing tends to be fragile, requiring a lot of rework for even minor functional changes in the requirements.
+
+The scripting language supported is [Tcl](http://www.tcl.tk), and specifically the Ada binding [Tash](https://github.com/simonjwright/tcladashell). The reason for choosing Tcl rather than Python or Lua is that Tcl's interface is entirely string-based; this is important, considering the need to specify values of enumerated types.
+
+The package provides facilities to write new commands in Tcl to
+
+* call the interface subprograms presented by the SUT,
+
+* set up values to be returned by calls the SUT makes to lower-level system components,
+
+* call callbacks provided by lower-level system components,
+
+* delay for appropriate periods, and
+
+* check that the proper calls have been made to lower-level system components, with the required values.
+
+It's assumed that the interface subprograms of the lower-level subsystems are stubbed so that:
+
+* `in` and `in out` parameters can be recorded for later checking,
+
+* `out` (and `in out`) parameter values and function `return` values can be provided to be returned to the SUT,
+
+* exceptions can be raised when required,
+
+* the number of calls to the subprogram can be checked.
+
+
diff --git a/_crates/sdlada.md b/_crates/sdlada.md
new file mode 100644
index 00000000..b0484170
--- /dev/null
+++ b/_crates/sdlada.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "sdlada"
+authors: ["Luke A. Guest"]
+maintainers: ["Luke A. Guest "]
+licenses: ["Zlib"]
+websites: ["https://github.com/Lucretia/sdlada"]
+tags: ["gamedev",
+"games",
+"portable",
+"cross-platform"]
+version: "2.5.5"
+short_description: "Ada 2012 SDL 2.x bindings."
+dependencies: [{crate: "libsdl2", version: "^2.0.0"},
+{crate: "libsdl2_image", version: "^2.0.0"},
+{crate: "libsdl2_ttf", version: "^2.0.0"},
+{crate: "make", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/security.md b/_crates/security.md
new file mode 100644
index 00000000..0e6bbd4f
--- /dev/null
+++ b/_crates/security.md
@@ -0,0 +1,49 @@
+---
+layout: crate
+crate: "security"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-security"]
+tags: ["security",
+"oauth2",
+"authentication",
+"permissions",
+"jwt"]
+version: "1.5.0"
+short_description: "Security Library for HTTP client and server with OAuth2 support"
+dependencies: [{crate: "utilada", version: "^2.6.0"},
+{crate: "utilada_xml", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-security/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-security/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-security/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-securit/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-security/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-security/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-security/badge/?version=latest)](https://ada-security.readthedocs.io/en/latest/?badge=latest)
+
+Ada Security provides a security framework which allows applications to define
+and enforce security policies. This framework allows users to authenticate by using
+[OpenID Authentication 2.0](https://openid.net/specs/openid-authentication-2_0.html)
+as well as [OAuth 2.0](https://oauth.net/2/) protocol.
+It allows a web application to integrate easily with Yahoo!, Gitlab, Github, Facebook and
+Google+ authentication systems.
+The Ada05 library includes:
+
+* An OpenID client authentication,
+* An OAuth 2.0 client authentication,
+* An OpenID Connect authentication framework,
+* An OAuth 2.0 server authentication framework,
+* A policy based security framework to protect the resources
+
+The Ada Security library is used by the
+[Ada Web Application](https://gitlab.com/stcarrez/ada-awa)
+to provide authentication and access control to users within the web applications.
+
+## Documentation
+
+* [Ada Security Programmer's Guide](https://ada-security.readthedocs.io/en/latest/)
+
+
+
diff --git a/_crates/semantic_versioning.md b/_crates/semantic_versioning.md
new file mode 100644
index 00000000..9ae86a60
--- /dev/null
+++ b/_crates/semantic_versioning.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "semantic_versioning"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["LGPL-3.0-only"]
+websites: ["https://github.com/alire-project/semantic_versioning"]
+tags: ["semver",
+"semantic",
+"versioning"]
+version: "2.1.0"
+short_description: "Semantic Versioning in Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/septum.md b/_crates/septum.md
new file mode 100644
index 00000000..c4d62a07
--- /dev/null
+++ b/_crates/septum.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "septum"
+authors: ["Paul Jarrett"]
+maintainers: ["Paul Jarrett "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/pyjarrett/septum"]
+tags: ["search",
+"code",
+"text"]
+version: "0.0.7"
+short_description: "An interactive context-based text search tool for large codebases."
+dependencies: [{crate: "dir_iterators", version: "~0.0.3"},
+{crate: "progress_indicators", version: "~0.0.1"},
+{crate: "trendy_terminal", version: "~0.0.5"},
+{crate: "atomic", version: "~0.3.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/serverfaces.md b/_crates/serverfaces.md
new file mode 100644
index 00000000..aac25091
--- /dev/null
+++ b/_crates/serverfaces.md
@@ -0,0 +1,38 @@
+---
+layout: crate
+crate: "serverfaces"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-asf"]
+tags: ["web",
+"servlet",
+"http",
+"json"]
+version: "1.6.0"
+short_description: "Web Server Faces JSR 252, JSR 314 and JSR 344"
+dependencies: [{crate: "security", version: "^1.5.0"},
+{crate: "servletada", version: "^1.7.0"},
+{crate: "utilada", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-asf/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-asf/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-asf/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-asf/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-asf/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-asf/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-asf/badge/?version=latest)](https://ada-asf.readthedocs.io/en/latest/?badge=latest)
+
+Ada Servlet allows to create web applications using the same pattern
+as the Java Servlet (See JSR 154, JSR 315).
+
+The Ada Servlet library is used by the [Ada Server Faces](https://github.com/stcarrez/ada-asf)
+framework and [Ada Web Application](https://github.com/stcarrez/ada-awa)
+to provide server web requests.
+
+# Documentation
+
+* [Ada Server Faces Programmer's Guide](https://ada-asf.readthedocs.io/en/latest/) [PDF](https://gitlab.com/stcarrez/ada-asf/blob/master/docs/asf-book.pdf)
+
+
+
diff --git a/_crates/serverfaces_unit.md b/_crates/serverfaces_unit.md
new file mode 100644
index 00000000..b3ba1b1d
--- /dev/null
+++ b/_crates/serverfaces_unit.md
@@ -0,0 +1,43 @@
+---
+layout: crate
+crate: "serverfaces_unit"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-asf"]
+tags: ["web",
+"servlet",
+"http",
+"framework",
+"facelet",
+"jsf",
+"testing"]
+version: "1.6.0"
+short_description: "Web Server Faces JSR 252, JSR 314 and JSR 344 (Testing framework)"
+dependencies: [{crate: "security", version: "^1.5.0"},
+{crate: "serverfaces", version: "^1.6.0"},
+{crate: "servletada", version: "^1.7.0"},
+{crate: "servletada_unit", version: "^1.7.0"},
+{crate: "utilada", version: "^2.6.0"},
+{crate: "utilada_unit", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-asf/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-asf/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-asf/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-asf/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-asf/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-asf/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-asf/badge/?version=latest)](https://ada-asf.readthedocs.io/en/latest/?badge=latest)
+
+Ada Server Faces allows to create web applications using the same pattern
+as the Java Server Faces (See JSR 252, JSR 314 and JSR 344).
+
+This library provides a unit test framework that helps in building unit tests
+on top of Ada Server Faces.
+
+# Documentation
+
+* [Ada Server Faces Programmer's Guide](https://ada-asf.readthedocs.io/en/latest/) [PDF](https://gitlab.com/stcarrez/ada-asf/blob/master/docs/asf-book.pdf)
+
+
+
diff --git a/_crates/servletada.md b/_crates/servletada.md
new file mode 100644
index 00000000..62a3c278
--- /dev/null
+++ b/_crates/servletada.md
@@ -0,0 +1,34 @@
+---
+layout: crate
+crate: "servletada"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-servlet"]
+tags: ["web",
+"servlet",
+"http",
+"json",
+"rest"]
+version: "1.7.0"
+short_description: "Web Servlet Library following JSR 154, JSR 315 (Core)"
+dependencies: [{crate: "elada", version: "^1.8.5"},
+{crate: "security", version: "^1.5.0"},
+{crate: "utilada", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-servlet/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-servlet/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-servlet/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-servlet/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-servlet/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-servlet/summary)
+
+Ada Servlet allows to create web applications using the same pattern
+as the Java Servlet (See JSR 154, JSR 315).
+
+The Ada Servlet library is used by the [Ada Server Faces](https://gitlab.com/stcarrez/ada-asf)
+framework and [Ada Web Application](https://gitlab.com/stcarrez/ada-awa)
+to provide server web requests.
+
+
+
diff --git a/_crates/servletada_aws.md b/_crates/servletada_aws.md
new file mode 100644
index 00000000..072c74ae
--- /dev/null
+++ b/_crates/servletada_aws.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "servletada_aws"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-servlet"]
+tags: ["web",
+"servlet",
+"http",
+"json"]
+version: "1.6.0"
+short_description: "Web Servlet Library following JSR 154, JSR 315 (AWS)"
+dependencies: [{crate: "servletada", version: "^1.6.0"},
+{crate: "utilada_aws", version: "^2.5.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/jenkins/s/http/jenkins.vacs.fr/Ada-Servlet.svg)](https://jenkins.vacs.fr/job/Ada-Servlet/)
+[![Test Status](https://img.shields.io/jenkins/t/http/jenkins.vacs.fr/Ada-Servlet.svg)](https://jenkins.vacs.fr/job/Ada-Servlet/)
+[![codecov](https://codecov.io/gh/stcarrez/ada-servlet/branch/master/graph/badge.svg)](https://codecov.io/gh/stcarrez/ada-servlet)
+
+Ada Servlet allows to create web applications using the same pattern
+as the Java Servlet (See JSR 154, JSR 315).
+
+This library integrates the Ada Servlet in the Ada Web Server.
+
+
+
diff --git a/_crates/servletada_ews.md b/_crates/servletada_ews.md
new file mode 100644
index 00000000..640b8fc9
--- /dev/null
+++ b/_crates/servletada_ews.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "servletada_ews"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-servlet"]
+tags: ["web",
+"servlet",
+"http",
+"json"]
+version: "1.7.0"
+short_description: "Web Servlet Library following JSR 154, JSR 315 (EWS)"
+dependencies: [{crate: "ews", version: "*"},
+{crate: "servletada", version: "^1.7.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-servlet/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-servlet/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-servlet/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-servlet/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-servlet/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-servlet/summary)
+
+Ada Servlet allows to create web applications using the same pattern
+as the Java Servlet (See JSR 154, JSR 315).
+
+This library integrates the Ada Servlet in the Embedded Web Server.
+
+
+
diff --git a/_crates/servletada_unit.md b/_crates/servletada_unit.md
new file mode 100644
index 00000000..194a8c38
--- /dev/null
+++ b/_crates/servletada_unit.md
@@ -0,0 +1,31 @@
+---
+layout: crate
+crate: "servletada_unit"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-servlet"]
+tags: ["web",
+"servlet",
+"http",
+"json",
+"rest",
+"testing"]
+version: "1.7.0"
+short_description: "Web Servlet Library following JSR 154, JSR 315 (Testing framework)"
+dependencies: [{crate: "servletada", version: "^1.7.0"},
+{crate: "utilada", version: "^2.6.0"},
+{crate: "utilada_unit", version: "^2.6.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-servlet/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-servlet/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-servlet/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-servlet/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-servlet/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-servlet/summary)
+
+This library provides helper operations for unit testing a servlet implemented on top of
+Ada Servlet.
+
+
+
diff --git a/_crates/sh1107.md b/_crates/sh1107.md
new file mode 100644
index 00000000..9e1cbb0d
--- /dev/null
+++ b/_crates/sh1107.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "sh1107"
+authors: ["Holger Rodriguez"]
+maintainers: ["Holger Rodriguez "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/hgrodriguez/sh1107"]
+tags: ["embedded",
+"rp2040"]
+version: "1.2.2"
+short_description: "Driver for the SH1107/OLED 128x128 monochrome display"
+dependencies: [{crate: "embedded_components", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/sha1.md b/_crates/sha1.md
new file mode 100644
index 00000000..6ab3cc38
--- /dev/null
+++ b/_crates/sha1.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "sha1"
+authors: ["Anton Fediushin"]
+maintainers: ["Anton Fediushin "]
+licenses: ["ISC"]
+websites: ["https://github.com/AntonMeep/sha1"]
+tags: ["cryptography",
+"security",
+"sha1"]
+version: "2.0.0"
+short_description: "Secure Hash Algorithm 1 implemented in Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/sha2.md b/_crates/sha2.md
new file mode 100644
index 00000000..092c55a9
--- /dev/null
+++ b/_crates/sha2.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "sha2"
+authors: ["Anton Fediushin"]
+maintainers: ["Anton Fediushin "]
+licenses: ["ISC"]
+websites: ["https://github.com/AntonMeep/sha2"]
+tags: ["cryptography",
+"security",
+"sha2"]
+version: "2.0.0"
+short_description: "Secure Hash Algorithm 2 implemented in Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/shoot_n_loot.md b/_crates/shoot_n_loot.md
new file mode 100644
index 00000000..2e78d532
--- /dev/null
+++ b/_crates/shoot_n_loot.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "shoot_n_loot"
+authors: []
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["MIT"]
+websites: ["https://github.com/Fabien-Chouteau/shoot-n-loot"]
+tags: ["pygamer",
+"game",
+"simulator"]
+version: "1.0.0"
+short_description: "Platform game for the AdaFruit PyGamer console"
+dependencies: [{crate: "geste", version: "^1.1.0"},
+{crate: "gnat", version: "^10"},
+{crate: "pygamer_bsp", version: "~1.0.0"},
+{crate: "pygamer_simulator", version: "~1.0.0"},
+{crate: "virtapu", version: "~0.2.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/si_units.md b/_crates/si_units.md
new file mode 100644
index 00000000..2084cdc9
--- /dev/null
+++ b/_crates/si_units.md
@@ -0,0 +1,40 @@
+---
+layout: crate
+crate: "si_units"
+authors: ["Vinzent \"Jellix\" Saranen"]
+maintainers: ["vinzent@heisenbug.eu"]
+licenses: ["WTFPL"]
+websites: ["https://github.heisenbug.eu/si_units"]
+tags: ["utilities",
+"formatting"]
+version: "0.2.0"
+short_description: "Pretty print physical values in properly scaled metric (SI) units."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Provides generic conversion (`Image`) functions that convert values into human
+readable strings with appropriate SI prefixes. This is especially convenient
+when you have to deal with printing values from a potentially large interval,
+and you need to represent such values as something an average human will
+easily be able to read. Then you can use `SI_Units` to take care of the
+conversion into an appropriate string representation for you.
+
+Converting values into a string is supported with all SI prefixes which are a
+power of 1000 (yocto .. Yotta), additionally there is a generic that can deal
+with binary prefixes (i.e. prefixes that denote powers of 1024).
+
+Scaling (i.e. conversion between different prefixes, like from kilo(meter) to
+centi(meter)) between all defined SI prefixes is also supported, similar for
+binary prefixes.
+
+See the project's [website](https://github.heisenbug.eu/si_units) for more
+details.
+
+Version 0.2.0 is source code identical to the previous 0.1.3 release, but adds
+full support for Alire integration. In the process, the provided `gnat` project
+files have been streamlined, so if you upgrade to this version from a previous
+release, you will need to adjust your own project files accordingly.
+
+
diff --git a/_crates/simh_tapes.md b/_crates/simh_tapes.md
new file mode 100644
index 00000000..962915f2
--- /dev/null
+++ b/_crates/simh_tapes.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "simh_tapes"
+authors: ["Stephen Merrony"]
+maintainers: ["Stephen Merrony "]
+licenses: ["AGPL-3.0-or-later"]
+websites: ["https://github.com/SMerrony/simh_tapes"]
+tags: ["legacy",
+"magtape",
+"magnetic",
+"tape",
+"emulation",
+"simulation"]
+version: "0.1.1"
+short_description: "Library to handle SimH Standard magnetic tape image files"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/simple_components.md b/_crates/simple_components.md
new file mode 100644
index 00000000..6eaa8937
--- /dev/null
+++ b/_crates/simple_components.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "simple_components"
+authors: ["Dmitry A. Kazakov"]
+maintainers: ["alejandro@mosteo.com",
+"blady.net@orange.fr"]
+licenses: ["GPL-2.0-only WITH GCC-exception-2.0"]
+websites: ["http://www.dmitry-kazakov.de/ada/components.htm"]
+tags: []
+version: "4.62.0"
+short_description: "Simple Components - A collection of support packages"
+dependencies: [{crate: "gnat", version: ">=2021 | (>=12 & <2000)"},
+{crate: "libgnutls", version: "^3.5.8"},
+{crate: "unixodbc", version: "^2.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/simple_logging.md b/_crates/simple_logging.md
new file mode 100644
index 00000000..3fe9b415
--- /dev/null
+++ b/_crates/simple_logging.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "simple_logging"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["LGPL-3.0-only"]
+websites: []
+tags: ["logging",
+"utility"]
+version: "1.2.0"
+short_description: "Simple logging to console"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/simple_regex.md b/_crates/simple_regex.md
new file mode 100644
index 00000000..3530452b
--- /dev/null
+++ b/_crates/simple_regex.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "simple_regex"
+authors: ["Paul Jarrett"]
+maintainers: ["Paul Jarrett "]
+licenses: []
+websites: ["https://github.com/pyjarrett/simple_regex"]
+tags: ["regex",
+"text"]
+version: "0.1.0"
+short_description: "Port of Rob Pike's simple regex from the Practice of Programming."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Provides a simple regular expression match function for Latin-1 strings, and
+supports *, ., ^ and $.
+
+
diff --git a/_crates/slip.md b/_crates/slip.md
new file mode 100644
index 00000000..227f80a5
--- /dev/null
+++ b/_crates/slip.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "slip"
+authors: ["Biser Milanov"]
+maintainers: ["bmilanov11@gmail.com"]
+licenses: ["BSD-3-Clause"]
+websites: ["https://gitlab.com/bmilanov/slip"]
+tags: ["embedded",
+"protocols",
+"spark"]
+version: "0.0.1"
+short_description: "SLIP Protocol Implementation"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/socketcan.md b/_crates/socketcan.md
new file mode 100644
index 00000000..f4a503e2
--- /dev/null
+++ b/_crates/socketcan.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "socketcan"
+authors: []
+maintainers: ["glen.m.cornell@gmail.com"]
+licenses: ["LGPL-3.0-only"]
+websites: []
+tags: []
+version: "1.0.0"
+short_description: "An Ada language binding to SocketCAN for GNU/Linux systems"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/spark_unbound.md b/_crates/spark_unbound.md
new file mode 100644
index 00000000..0779975f
--- /dev/null
+++ b/_crates/spark_unbound.md
@@ -0,0 +1,29 @@
+---
+layout: crate
+crate: "spark_unbound"
+authors: ["Manuel Hatzl"]
+maintainers: ["Manuel Hatzl "]
+licenses: ["MIT"]
+websites: ["https://github.com/mhatzl/spark_unbound"]
+tags: ["spark",
+"unbound"]
+version: "0.2.1"
+short_description: "Unbound data structures in Ada-Spark"
+dependencies: [{crate: "gnat", version: "(>=9.3.1 & <2000) | >=2021"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Spark_Unbound is a take on providing generic unbound data structures in Spark.
+
+In addition to proving general absence of runtime errors, the heap allocation is done in a non-Spark function to catch a possible `Storage_Error`.
+This further increases the security and confident use of this library.
+
+**The following packages are currently available:**
+
+- `Spark_Unbound.Safe_Alloc`: Providing formally proven safe heap allocation functionality
+- `Spark_Unbound.Arrays`: Providing a formally proven alternative to `Ada.Containers.Vector`
+
+**Note:** If you use this library, starring the repository on GitHub helps me a lot to see if it is even useful for someone else.
+
+
diff --git a/_crates/sparknacl.md b/_crates/sparknacl.md
new file mode 100644
index 00000000..d9d436ae
--- /dev/null
+++ b/_crates/sparknacl.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "sparknacl"
+authors: ["Rod Chapman"]
+maintainers: ["Rod Chapman "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/rod-chapman/SPARKNaCl"]
+tags: ["spark",
+"cryptography",
+"security",
+"nacl",
+"curve25519",
+"ed25519",
+"tweetnacl"]
+version: "3.0.0"
+short_description: "Verified SPARK 2014 re-implementation of TweetNaCl cryptographic library"
+dependencies: [{crate: "gnat", version: ">=11.2.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+SPARK 2014 re-implementation of TweetNaCl cryptographic library, with fully automated proofs of type safety and some correctness properties
+
diff --git a/_crates/spat.md b/_crates/spat.md
new file mode 100644
index 00000000..10d823a0
--- /dev/null
+++ b/_crates/spat.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "spat"
+authors: ["Vinzent \"Jellix\" Saranen"]
+maintainers: ["vinzent@heisenbug.eu"]
+licenses: ["WTFPL"]
+websites: ["https://github.heisenbug.eu/spat"]
+tags: ["spark"]
+version: "1.3.0"
+short_description: "SPAT - SPARK Proof Analysis Tool"
+dependencies: [{crate: "si_units", version: "~0.2"}]
+configuration_variables: []
+configuration_values: []
+
+---
+SPAT - SPARK Proof Analysis Tools
+
+Helper tool to obtain, analyse, sort, and filter timing information about
+`gnatprove` runs (`SPARK` tools).
+
+
diff --git a/_crates/spawn.md b/_crates/spawn.md
new file mode 100644
index 00000000..e30b2675
--- /dev/null
+++ b/_crates/spawn.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "spawn"
+authors: ["AdaCore"]
+maintainers: ["Vadim Godunko ",
+"Max Reznik