diff --git a/.github/workflows/update.yaml b/.github/workflows/update.yaml
new file mode 100644
index 00000000..10e6f1ea
--- /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@v4
+ - 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/a0b_armv7m.json b/_badges/a0b_armv7m.json
new file mode 100644
index 00000000..a7a70935
--- /dev/null
+++ b/_badges/a0b_armv7m.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_armv7m"
+version: "0.2.0"
+---
diff --git a/_badges/a0b_armv7m_systick_clock.json b/_badges/a0b_armv7m_systick_clock.json
new file mode 100644
index 00000000..ead41dc7
--- /dev/null
+++ b/_badges/a0b_armv7m_systick_clock.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_armv7m_systick_clock"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_armv7m_systick_clock_timer.json b/_badges/a0b_armv7m_systick_clock_timer.json
new file mode 100644
index 00000000..7869b1a7
--- /dev/null
+++ b/_badges/a0b_armv7m_systick_clock_timer.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_armv7m_systick_clock_timer"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_atsam3x8e.json b/_badges/a0b_atsam3x8e.json
new file mode 100644
index 00000000..fdf424e9
--- /dev/null
+++ b/_badges/a0b_atsam3x8e.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_atsam3x8e"
+version: "0.2.0"
+---
diff --git a/_badges/a0b_atsam3x8e_gpio.json b/_badges/a0b_atsam3x8e_gpio.json
new file mode 100644
index 00000000..147ca9e4
--- /dev/null
+++ b/_badges/a0b_atsam3x8e_gpio.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_atsam3x8e_gpio"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_atsam3x8e_tc5_timer.json b/_badges/a0b_atsam3x8e_tc5_timer.json
new file mode 100644
index 00000000..d18f47d5
--- /dev/null
+++ b/_badges/a0b_atsam3x8e_tc5_timer.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_atsam3x8e_tc5_timer"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_atsam3x8e_twi_i2c.json b/_badges/a0b_atsam3x8e_twi_i2c.json
new file mode 100644
index 00000000..f3ca2aee
--- /dev/null
+++ b/_badges/a0b_atsam3x8e_twi_i2c.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_atsam3x8e_twi_i2c"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_base.json b/_badges/a0b_base.json
new file mode 100644
index 00000000..ed16cb98
--- /dev/null
+++ b/_badges/a0b_base.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_base"
+version: "0.3.0"
+---
diff --git a/_badges/a0b_callbacks.json b/_badges/a0b_callbacks.json
new file mode 100644
index 00000000..168c4e62
--- /dev/null
+++ b/_badges/a0b_callbacks.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_callbacks"
+version: "0.2.0"
+---
diff --git a/_badges/a0b_exti.json b/_badges/a0b_exti.json
new file mode 100644
index 00000000..08fab237
--- /dev/null
+++ b/_badges/a0b_exti.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_exti"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_gpio.json b/_badges/a0b_gpio.json
new file mode 100644
index 00000000..cdd3e002
--- /dev/null
+++ b/_badges/a0b_gpio.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_gpio"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_i2c.json b/_badges/a0b_i2c.json
new file mode 100644
index 00000000..6c751a60
--- /dev/null
+++ b/_badges/a0b_i2c.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_i2c"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_stm32f401.json b/_badges/a0b_stm32f401.json
new file mode 100644
index 00000000..cc33d27f
--- /dev/null
+++ b/_badges/a0b_stm32f401.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_stm32f401"
+version: "0.2.0"
+---
diff --git a/_badges/a0b_stm32f401_dma.json b/_badges/a0b_stm32f401_dma.json
new file mode 100644
index 00000000..e834ab79
--- /dev/null
+++ b/_badges/a0b_stm32f401_dma.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_stm32f401_dma"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_stm32f401_gpio.json b/_badges/a0b_stm32f401_gpio.json
new file mode 100644
index 00000000..de4641da
--- /dev/null
+++ b/_badges/a0b_stm32f401_gpio.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_stm32f401_gpio"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_stm32f401_i2c.json b/_badges/a0b_stm32f401_i2c.json
new file mode 100644
index 00000000..e5450a5c
--- /dev/null
+++ b/_badges/a0b_stm32f401_i2c.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_stm32f401_i2c"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_stm32f401_tim11_timer.json b/_badges/a0b_stm32f401_tim11_timer.json
new file mode 100644
index 00000000..58318454
--- /dev/null
+++ b/_badges/a0b_stm32f401_tim11_timer.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_stm32f401_tim11_timer"
+version: "0.1.0"
+---
diff --git a/_badges/a0b_time.json b/_badges/a0b_time.json
new file mode 100644
index 00000000..a25924cc
--- /dev/null
+++ b/_badges/a0b_time.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_time"
+version: "0.2.0"
+---
diff --git a/_badges/a0b_timer.json b/_badges/a0b_timer.json
new file mode 100644
index 00000000..a25e715a
--- /dev/null
+++ b/_badges/a0b_timer.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "a0b_timer"
+version: "0.1.0"
+---
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_gui.json b/_badges/ada_gui.json
new file mode 100644
index 00000000..089971b3
--- /dev/null
+++ b/_badges/ada_gui.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ada_gui"
+version: "20240224.0.1"
+---
diff --git a/_badges/ada_language_server.json b/_badges/ada_language_server.json
new file mode 100644
index 00000000..49b71647
--- /dev/null
+++ b/_badges/ada_language_server.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ada_language_server"
+version: "25.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..a2b2d43c
--- /dev/null
+++ b/_badges/ada_toml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ada_toml"
+version: "0.5.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..55c9f428
--- /dev/null
+++ b/_badges/adabots.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "adabots"
+version: "1.9.0"
+---
diff --git a/_badges/adacl.json b/_badges/adacl.json
new file mode 100644
index 00000000..b0b3112d
--- /dev/null
+++ b/_badges/adacl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "adacl"
+version: "5.16.1"
+---
diff --git a/_badges/adare_dilithium5.json b/_badges/adare_dilithium5.json
new file mode 100644
index 00000000..664bb9e8
--- /dev/null
+++ b/_badges/adare_dilithium5.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "adare_dilithium5"
+version: "0.2.3"
+---
diff --git a/_badges/adare_hqc256.json b/_badges/adare_hqc256.json
new file mode 100644
index 00000000..e78a202b
--- /dev/null
+++ b/_badges/adare_hqc256.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "adare_hqc256"
+version: "0.2.3"
+---
diff --git a/_badges/adasat.json b/_badges/adasat.json
new file mode 100644
index 00000000..f3ad60cc
--- /dev/null
+++ b/_badges/adasat.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "adasat"
+version: "25.0.0"
+---
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..1aae8a7b
--- /dev/null
+++ b/_badges/ado.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ado"
+version: "2.4.1"
+---
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..b07445f1
--- /dev/null
+++ b/_badges/ado_mysql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ado_mysql"
+version: "2.4.1"
+---
diff --git a/_badges/ado_postgresql.json b/_badges/ado_postgresql.json
new file mode 100644
index 00000000..5fecb4a3
--- /dev/null
+++ b/_badges/ado_postgresql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ado_postgresql"
+version: "2.4.1"
+---
diff --git a/_badges/ado_sqlite.json b/_badges/ado_sqlite.json
new file mode 100644
index 00000000..7905a7c2
--- /dev/null
+++ b/_badges/ado_sqlite.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ado_sqlite"
+version: "2.4.1"
+---
diff --git a/_badges/aflex.json b/_badges/aflex.json
new file mode 100644
index 00000000..525ccec6
--- /dev/null
+++ b/_badges/aflex.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aflex"
+version: "1.7.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..61f0c743
--- /dev/null
+++ b/_badges/akt.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "akt"
+version: "1.4.1"
+---
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/alr2appimage.json b/_badges/alr2appimage.json
new file mode 100644
index 00000000..d84983d4
--- /dev/null
+++ b/_badges/alr2appimage.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "alr2appimage"
+version: "0.9.3"
+---
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/aoa_22.json b/_badges/aoa_22.json
new file mode 100644
index 00000000..5f5543f3
--- /dev/null
+++ b/_badges/aoa_22.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aoa_22"
+version: "20220720.0.0"
+---
diff --git a/_badges/aoa_23.json b/_badges/aoa_23.json
new file mode 100644
index 00000000..a38a925f
--- /dev/null
+++ b/_badges/aoa_23.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aoa_23"
+version: "20230119.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..5b23246f
--- /dev/null
+++ b/_badges/are.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "are"
+version: "1.5.1"
+---
diff --git a/_badges/asfml.json b/_badges/asfml.json
new file mode 100644
index 00000000..fddea9c7
--- /dev/null
+++ b/_badges/asfml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "asfml"
+version: "2.6.1"
+---
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..08356c65
--- /dev/null
+++ b/_badges/atomic.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "atomic"
+version: "1.0.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..489020eb
--- /dev/null
+++ b/_badges/aunit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aunit"
+version: "25.0.0"
+---
diff --git a/_badges/automate.json b/_badges/automate.json
new file mode 100644
index 00000000..5c3fdede
--- /dev/null
+++ b/_badges/automate.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "automate"
+version: "3.0.0"
+---
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..f4aaef9b
--- /dev/null
+++ b/_badges/awa.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "awa"
+version: "2.5.0"
+---
diff --git a/_badges/awa_unit.json b/_badges/awa_unit.json
new file mode 100644
index 00000000..88977f29
--- /dev/null
+++ b/_badges/awa_unit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "awa_unit"
+version: "2.5.0"
+---
diff --git a/_badges/aws.json b/_badges/aws.json
new file mode 100644
index 00000000..a2c15d8a
--- /dev/null
+++ b/_badges/aws.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "aws"
+version: "24.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..78e8ceb7
--- /dev/null
+++ b/_badges/ayacc.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ayacc"
+version: "1.4.1"
+---
diff --git a/_badges/azip.json b/_badges/azip.json
new file mode 100644
index 00000000..0178676f
--- /dev/null
+++ b/_badges/azip.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "azip"
+version: "2.7.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_code_drawing.json b/_badges/bar_code_drawing.json
new file mode 100644
index 00000000..8672306c
--- /dev/null
+++ b/_badges/bar_code_drawing.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bar_code_drawing"
+version: "20240701.0.0"
+---
diff --git a/_badges/bar_codes.json b/_badges/bar_codes.json
new file mode 100644
index 00000000..44e60aa0
--- /dev/null
+++ b/_badges/bar_codes.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bar_codes"
+version: "5.0.0"
+---
diff --git a/_badges/bare_runtime.json b/_badges/bare_runtime.json
new file mode 100644
index 00000000..617c1acb
--- /dev/null
+++ b/_badges/bare_runtime.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bare_runtime"
+version: "14.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..69bce4e2
--- /dev/null
+++ b/_badges/bbqueue.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bbqueue"
+version: "1.0.0"
+---
diff --git a/_badges/bbs.json b/_badges/bbs.json
new file mode 100644
index 00000000..ca883bfc
--- /dev/null
+++ b/_badges/bbs.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bbs"
+version: "0.1.0"
+---
diff --git a/_badges/bbs_embed_common.json b/_badges/bbs_embed_common.json
new file mode 100644
index 00000000..d15e399e
--- /dev/null
+++ b/_badges/bbs_embed_common.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bbs_embed_common"
+version: "0.1.0"
+---
diff --git a/_badges/bbs_embed_linux.json b/_badges/bbs_embed_linux.json
new file mode 100644
index 00000000..6a9a3474
--- /dev/null
+++ b/_badges/bbs_embed_linux.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bbs_embed_linux"
+version: "0.1.0"
+---
diff --git a/_badges/bbs_lisp.json b/_badges/bbs_lisp.json
new file mode 100644
index 00000000..09d7d366
--- /dev/null
+++ b/_badges/bbs_lisp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bbs_lisp"
+version: "0.1.1"
+---
diff --git a/_badges/bbs_simcpu.json b/_badges/bbs_simcpu.json
new file mode 100644
index 00000000..df132537
--- /dev/null
+++ b/_badges/bbs_simcpu.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bbs_simcpu"
+version: "0.1.0"
+---
diff --git a/_badges/bbs_webif.json b/_badges/bbs_webif.json
new file mode 100644
index 00000000..ffc956f5
--- /dev/null
+++ b/_badges/bbs_webif.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bbs_webif"
+version: "0.1.0"
+---
diff --git a/_badges/bbt.json b/_badges/bbt.json
new file mode 100644
index 00000000..ed2cd2f5
--- /dev/null
+++ b/_badges/bbt.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bbt"
+version: "0.0.5"
+---
diff --git a/_badges/binary_trees.json b/_badges/binary_trees.json
new file mode 100644
index 00000000..22219fe8
--- /dev/null
+++ b/_badges/binary_trees.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "binary_trees"
+version: "20240519.0.0"
+---
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/bit_sets.json b/_badges/bit_sets.json
new file mode 100644
index 00000000..5fac067e
--- /dev/null
+++ b/_badges/bit_sets.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bit_sets"
+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/blinkenlights.json b/_badges/blinkenlights.json
new file mode 100644
index 00000000..024cc16e
--- /dev/null
+++ b/_badges/blinkenlights.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "blinkenlights"
+version: "0.1.0"
+---
diff --git a/_badges/bme280.json b/_badges/bme280.json
new file mode 100644
index 00000000..0019f917
--- /dev/null
+++ b/_badges/bme280.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "bme280"
+version: "1.0.0"
+---
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/checksum.json b/_badges/checksum.json
new file mode 100644
index 00000000..aac9708a
--- /dev/null
+++ b/_badges/checksum.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "checksum"
+version: "0.1.0"
+---
diff --git a/_badges/cheddar.json b/_badges/cheddar.json
new file mode 100644
index 00000000..a4147e2a
--- /dev/null
+++ b/_badges/cheddar.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "cheddar"
+version: "3.3.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/chipmunk2d.json b/_badges/chipmunk2d.json
new file mode 100644
index 00000000..b60232f3
--- /dev/null
+++ b/_badges/chipmunk2d.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "chipmunk2d"
+version: "0.1.0"
+---
diff --git a/_badges/clic.json b/_badges/clic.json
new file mode 100644
index 00000000..20aaa130
--- /dev/null
+++ b/_badges/clic.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "clic"
+version: "0.3.0"
+---
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/controlled_io.json b/_badges/controlled_io.json
new file mode 100644
index 00000000..fc9d8ab3
--- /dev/null
+++ b/_badges/controlled_io.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "controlled_io"
+version: "20240401.0.1"
+---
diff --git a/_badges/cortex_m.json b/_badges/cortex_m.json
new file mode 100644
index 00000000..7e18ccb7
--- /dev/null
+++ b/_badges/cortex_m.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "cortex_m"
+version: "1.0.0"
+---
diff --git a/_badges/crc_32.json b/_badges/crc_32.json
new file mode 100644
index 00000000..34891939
--- /dev/null
+++ b/_badges/crc_32.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "crc_32"
+version: "20240725.0.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..8897e17e
--- /dev/null
+++ b/_badges/dashera.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dashera"
+version: "0.15.1"
+---
diff --git a/_badges/db_maker.json b/_badges/db_maker.json
new file mode 100644
index 00000000..137adcd0
--- /dev/null
+++ b/_badges/db_maker.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "db_maker"
+version: "20240119.0.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..681556be
--- /dev/null
+++ b/_badges/dir_iterators.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dir_iterators"
+version: "0.0.5"
+---
diff --git a/_badges/dirty_booleans.json b/_badges/dirty_booleans.json
new file mode 100644
index 00000000..2585c18d
--- /dev/null
+++ b/_badges/dirty_booleans.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "dirty_booleans"
+version: "0.1.0"
+---
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/easy_graphics.json b/_badges/easy_graphics.json
new file mode 100644
index 00000000..d09d53bf
--- /dev/null
+++ b/_badges/easy_graphics.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "easy_graphics"
+version: "0.1.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..5919869f
--- /dev/null
+++ b/_badges/elada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "elada"
+version: "1.8.7"
+---
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/elogs.json b/_badges/elogs.json
new file mode 100644
index 00000000..047c76ae
--- /dev/null
+++ b/_badges/elogs.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "elogs"
+version: "1.2.0"
+---
diff --git a/_badges/emacs_ada_mode.json b/_badges/emacs_ada_mode.json
new file mode 100644
index 00000000..43382cd0
--- /dev/null
+++ b/_badges/emacs_ada_mode.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emacs_ada_mode"
+version: "8.1.0"
+---
diff --git a/_badges/emacs_gpr_mode.json b/_badges/emacs_gpr_mode.json
new file mode 100644
index 00000000..7c3dcfda
--- /dev/null
+++ b/_badges/emacs_gpr_mode.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emacs_gpr_mode"
+version: "1.0.5"
+---
diff --git a/_badges/emacs_gpr_query.json b/_badges/emacs_gpr_query.json
new file mode 100644
index 00000000..7213cff1
--- /dev/null
+++ b/_badges/emacs_gpr_query.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emacs_gpr_query"
+version: "1.0.2"
+---
diff --git a/_badges/emacs_wisi.json b/_badges/emacs_wisi.json
new file mode 100644
index 00000000..309997dc
--- /dev/null
+++ b/_badges/emacs_wisi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emacs_wisi"
+version: "4.3.2"
+---
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..24c9a353
--- /dev/null
+++ b/_badges/embedded_components.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "embedded_components"
+version: "0.3.0"
+---
diff --git a/_badges/emdee.json b/_badges/emdee.json
new file mode 100644
index 00000000..fadbf545
--- /dev/null
+++ b/_badges/emdee.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "emdee"
+version: "0.2.1"
+---
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/encryption_utilities.json b/_badges/encryption_utilities.json
new file mode 100644
index 00000000..a66b3d58
--- /dev/null
+++ b/_badges/encryption_utilities.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "encryption_utilities"
+version: "20220701.0.0"
+---
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/enet.json b/_badges/enet.json
new file mode 100644
index 00000000..cb169064
--- /dev/null
+++ b/_badges/enet.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "enet"
+version: "1.0.0"
+---
diff --git a/_badges/enet_stm32.json b/_badges/enet_stm32.json
new file mode 100644
index 00000000..bfbccf23
--- /dev/null
+++ b/_badges/enet_stm32.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "enet_stm32"
+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/ethernet.json b/_badges/ethernet.json
new file mode 100644
index 00000000..772d96dc
--- /dev/null
+++ b/_badges/ethernet.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ethernet"
+version: "1.0.0"
+---
diff --git a/_badges/euler_tools.json b/_badges/euler_tools.json
new file mode 100644
index 00000000..86355466
--- /dev/null
+++ b/_badges/euler_tools.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "euler_tools"
+version: "1.3.0"
+---
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..3fab1191
--- /dev/null
+++ b/_badges/excel_writer.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "excel_writer"
+version: "19.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..9184c663
--- /dev/null
+++ b/_badges/florist.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "florist"
+version:
+---
diff --git a/_badges/florist_blady.json b/_badges/florist_blady.json
new file mode 100644
index 00000000..5253d194
--- /dev/null
+++ b/_badges/florist_blady.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "florist_blady"
+version: "6.1.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/getada.json b/_badges/getada.json
new file mode 100644
index 00000000..fd8e1a99
--- /dev/null
+++ b/_badges/getada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "getada"
+version: "1.0.1"
+---
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/gfx_core.json b/_badges/gfx_core.json
new file mode 100644
index 00000000..4cf90270
--- /dev/null
+++ b/_badges/gfx_core.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gfx_core"
+version: "0.1.0"
+---
diff --git a/_badges/gfx_rasteriser.json b/_badges/gfx_rasteriser.json
new file mode 100644
index 00000000..eef1fef1
--- /dev/null
+++ b/_badges/gfx_rasteriser.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gfx_rasteriser"
+version: "0.1.0"
+---
diff --git a/_badges/gid.json b/_badges/gid.json
new file mode 100644
index 00000000..c3344ac6
--- /dev/null
+++ b/_badges/gid.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gid"
+version: "13.0.1"
+---
diff --git a/_badges/globe_3d.json b/_badges/globe_3d.json
new file mode 100644
index 00000000..4d9858d1
--- /dev/null
+++ b/_badges/globe_3d.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "globe_3d"
+version: "2023.11.12"
+---
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..884a1608
--- /dev/null
+++ b/_badges/gnat_arm_elf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_arm_elf"
+version: "14.2.1"
+---
diff --git a/_badges/gnat_avr_elf.json b/_badges/gnat_avr_elf.json
new file mode 100644
index 00000000..9e3d031a
--- /dev/null
+++ b/_badges/gnat_avr_elf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_avr_elf"
+version: "14.2.1"
+---
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..76d9f5b8
--- /dev/null
+++ b/_badges/gnat_native.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_native"
+version: "14.2.1"
+---
diff --git a/_badges/gnat_riscv64_elf.json b/_badges/gnat_riscv64_elf.json
new file mode 100644
index 00000000..57008977
--- /dev/null
+++ b/_badges/gnat_riscv64_elf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_riscv64_elf"
+version: "14.2.1"
+---
diff --git a/_badges/gnat_xtensa_esp32_elf.json b/_badges/gnat_xtensa_esp32_elf.json
new file mode 100644
index 00000000..bbb97c60
--- /dev/null
+++ b/_badges/gnat_xtensa_esp32_elf.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnat_xtensa_esp32_elf"
+version: "14.2.1"
+---
diff --git a/_badges/gnatcoll.json b/_badges/gnatcoll.json
new file mode 100644
index 00000000..a168b8b1
--- /dev/null
+++ b/_badges/gnatcoll.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_gmp.json b/_badges/gnatcoll_gmp.json
new file mode 100644
index 00000000..494f01cc
--- /dev/null
+++ b/_badges/gnatcoll_gmp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_gmp"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_iconv.json b/_badges/gnatcoll_iconv.json
new file mode 100644
index 00000000..8d518ec6
--- /dev/null
+++ b/_badges/gnatcoll_iconv.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_iconv"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_lzma.json b/_badges/gnatcoll_lzma.json
new file mode 100644
index 00000000..904b28cc
--- /dev/null
+++ b/_badges/gnatcoll_lzma.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_lzma"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_omp.json b/_badges/gnatcoll_omp.json
new file mode 100644
index 00000000..b21a533e
--- /dev/null
+++ b/_badges/gnatcoll_omp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_omp"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_postgres.json b/_badges/gnatcoll_postgres.json
new file mode 100644
index 00000000..0bfb2a2a
--- /dev/null
+++ b/_badges/gnatcoll_postgres.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_postgres"
+version: "25.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..cdb23725
--- /dev/null
+++ b/_badges/gnatcoll_readline.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_readline"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_sql.json b/_badges/gnatcoll_sql.json
new file mode 100644
index 00000000..2f91dc1e
--- /dev/null
+++ b/_badges/gnatcoll_sql.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_sql"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_sqlite.json b/_badges/gnatcoll_sqlite.json
new file mode 100644
index 00000000..a8c18264
--- /dev/null
+++ b/_badges/gnatcoll_sqlite.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_sqlite"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_syslog.json b/_badges/gnatcoll_syslog.json
new file mode 100644
index 00000000..44995e9a
--- /dev/null
+++ b/_badges/gnatcoll_syslog.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_syslog"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_xref.json b/_badges/gnatcoll_xref.json
new file mode 100644
index 00000000..43ce6309
--- /dev/null
+++ b/_badges/gnatcoll_xref.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_xref"
+version: "25.0.0"
+---
diff --git a/_badges/gnatcoll_zlib.json b/_badges/gnatcoll_zlib.json
new file mode 100644
index 00000000..8ef686dd
--- /dev/null
+++ b/_badges/gnatcoll_zlib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatcoll_zlib"
+version: "25.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..859820eb
--- /dev/null
+++ b/_badges/gnatdoc.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatdoc"
+version: "25.0.0"
+---
diff --git a/_badges/gnatformat.json b/_badges/gnatformat.json
new file mode 100644
index 00000000..7a83e917
--- /dev/null
+++ b/_badges/gnatformat.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatformat"
+version: "25.0.0"
+---
diff --git a/_badges/gnatprove.json b/_badges/gnatprove.json
new file mode 100644
index 00000000..8cbdb620
--- /dev/null
+++ b/_badges/gnatprove.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gnatprove"
+version: "14.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..0527cd58
--- /dev/null
+++ b/_badges/gprbuild.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gprbuild"
+version: "24.0.1"
+---
diff --git a/_badges/gsl.json b/_badges/gsl.json
new file mode 100644
index 00000000..3cbde198
--- /dev/null
+++ b/_badges/gsl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gsl"
+version: "0.1.0"
+---
diff --git a/_badges/gtkada.json b/_badges/gtkada.json
new file mode 100644
index 00000000..2b2e514a
--- /dev/null
+++ b/_badges/gtkada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gtkada"
+version: "25.0.1"
+---
diff --git a/_badges/gwindows.json b/_badges/gwindows.json
new file mode 100644
index 00000000..ec2ce382
--- /dev/null
+++ b/_badges/gwindows.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "gwindows"
+version: "1.4.3"
+---
diff --git a/_badges/hac.json b/_badges/hac.json
new file mode 100644
index 00000000..573b07f8
--- /dev/null
+++ b/_badges/hac.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hac"
+version: "0.40.0"
+---
diff --git a/_badges/hal.json b/_badges/hal.json
new file mode 100644
index 00000000..e99020ea
--- /dev/null
+++ b/_badges/hal.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hal"
+version: "1.0.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/hex_format.json b/_badges/hex_format.json
new file mode 100644
index 00000000..c916f888
--- /dev/null
+++ b/_badges/hex_format.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hex_format"
+version: "0.1.0"
+---
diff --git a/_badges/hirtos.json b/_badges/hirtos.json
new file mode 100644
index 00000000..4e18f870
--- /dev/null
+++ b/_badges/hirtos.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hirtos"
+version: "2.0.0"
+---
diff --git a/_badges/hirtos_separation_kernel.json b/_badges/hirtos_separation_kernel.json
new file mode 100644
index 00000000..d1fefd2f
--- /dev/null
+++ b/_badges/hirtos_separation_kernel.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hirtos_separation_kernel"
+version: "2.0.0"
+---
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/hmc5883.json b/_badges/hmc5883.json
new file mode 100644
index 00000000..539dceaf
--- /dev/null
+++ b/_badges/hmc5883.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hmc5883"
+version: "1.0.0"
+---
diff --git a/_badges/honki_tonks_zivilisationen.json b/_badges/honki_tonks_zivilisationen.json
new file mode 100644
index 00000000..8ea36317
--- /dev/null
+++ b/_badges/honki_tonks_zivilisationen.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "honki_tonks_zivilisationen"
+version: "0.5.5305"
+---
diff --git a/_badges/hp41cx_tools.json b/_badges/hp41cx_tools.json
new file mode 100644
index 00000000..7cde6d17
--- /dev/null
+++ b/_badges/hp41cx_tools.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "hp41cx_tools"
+version: "1.6.2"
+---
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/image_io.json b/_badges/image_io.json
new file mode 100644
index 00000000..2a17f12c
--- /dev/null
+++ b/_badges/image_io.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "image_io"
+version: "20240725.0.0"
+---
diff --git a/_badges/image_random.json b/_badges/image_random.json
new file mode 100644
index 00000000..ab2dcdef
--- /dev/null
+++ b/_badges/image_random.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "image_random"
+version: "20200720.0.0"
+---
diff --git a/_badges/ini_files.json b/_badges/ini_files.json
new file mode 100644
index 00000000..508ee7ce
--- /dev/null
+++ b/_badges/ini_files.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ini_files"
+version: "11.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/intl.json b/_badges/intl.json
new file mode 100644
index 00000000..7b67bdfd
--- /dev/null
+++ b/_badges/intl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "intl"
+version: "1.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/jintp.json b/_badges/jintp.json
new file mode 100644
index 00000000..7dd9b1c1
--- /dev/null
+++ b/_badges/jintp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "jintp"
+version: "0.1.0"
+---
diff --git a/_badges/journada.json b/_badges/journada.json
new file mode 100644
index 00000000..8855a522
--- /dev/null
+++ b/_badges/journada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "journada"
+version: "1.0.0"
+---
diff --git a/_badges/json.json b/_badges/json.json
new file mode 100644
index 00000000..a00d7bf6
--- /dev/null
+++ b/_badges/json.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "json"
+version: "6.0.0"
+---
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..aeefda3d
--- /dev/null
+++ b/_badges/keystoreada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "keystoreada"
+version: "1.4.1"
+---
diff --git a/_badges/labs_radar.json b/_badges/labs_radar.json
new file mode 100644
index 00000000..c945201c
--- /dev/null
+++ b/_badges/labs_radar.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "labs_radar"
+version: "1.0.0"
+---
diff --git a/_badges/labs_solar_system.json b/_badges/labs_solar_system.json
new file mode 100644
index 00000000..7a475104
--- /dev/null
+++ b/_badges/labs_solar_system.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "labs_solar_system"
+version: "1.1.0"
+---
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/lal_refactor.json b/_badges/lal_refactor.json
new file mode 100644
index 00000000..79f4c172
--- /dev/null
+++ b/_badges/lal_refactor.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lal_refactor"
+version: "25.0.0"
+---
diff --git a/_badges/langkit_support.json b/_badges/langkit_support.json
new file mode 100644
index 00000000..20ee5190
--- /dev/null
+++ b/_badges/langkit_support.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "langkit_support"
+version: "25.0.0"
+---
diff --git a/_badges/lea.json b/_badges/lea.json
new file mode 100644
index 00000000..c8657a2b
--- /dev/null
+++ b/_badges/lea.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lea"
+version: "0.90.0"
+---
diff --git a/_badges/learnadainy.json b/_badges/learnadainy.json
new file mode 100644
index 00000000..e5c4286c
--- /dev/null
+++ b/_badges/learnadainy.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "learnadainy"
+version: "0.2.0"
+---
diff --git a/_badges/libadalang.json b/_badges/libadalang.json
new file mode 100644
index 00000000..3cc27ba2
--- /dev/null
+++ b/_badges/libadalang.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libadalang"
+version: "25.0.0"
+---
diff --git a/_badges/libadalang2xml.json b/_badges/libadalang2xml.json
new file mode 100644
index 00000000..67ce553b
--- /dev/null
+++ b/_badges/libadalang2xml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libadalang2xml"
+version: "1.0.2"
+---
diff --git a/_badges/libadalang_tools.json b/_badges/libadalang_tools.json
new file mode 100644
index 00000000..240b5ed8
--- /dev/null
+++ b/_badges/libadalang_tools.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libadalang_tools"
+version: "25.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/libchipmunk.json b/_badges/libchipmunk.json
new file mode 100644
index 00000000..f5328e6f
--- /dev/null
+++ b/_badges/libchipmunk.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libchipmunk"
+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/libcmark.json b/_badges/libcmark.json
new file mode 100644
index 00000000..ac03c1e6
--- /dev/null
+++ b/_badges/libcmark.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libcmark"
+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/libglib.json b/_badges/libglib.json
new file mode 100644
index 00000000..2dc6fe0b
--- /dev/null
+++ b/_badges/libglib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libglib"
+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..7f49082d
--- /dev/null
+++ b/_badges/libgnatdoc.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgnatdoc"
+version: "25.0.0"
+---
diff --git a/_badges/libgnatformat.json b/_badges/libgnatformat.json
new file mode 100644
index 00000000..b0dc9616
--- /dev/null
+++ b/_badges/libgnatformat.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgnatformat"
+version: "25.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..9d8ae84f
--- /dev/null
+++ b/_badges/libgpr.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgpr"
+version: "25.0.0"
+---
diff --git a/_badges/libgpr2.json b/_badges/libgpr2.json
new file mode 100644
index 00000000..1e840571
--- /dev/null
+++ b/_badges/libgpr2.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libgpr2"
+version: "25.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/liblal_refactor.json b/_badges/liblal_refactor.json
new file mode 100644
index 00000000..300c0ceb
--- /dev/null
+++ b/_badges/liblal_refactor.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "liblal_refactor"
+version: "25.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/libmagic.json b/_badges/libmagic.json
new file mode 100644
index 00000000..51a9d6e3
--- /dev/null
+++ b/_badges/libmagic.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libmagic"
+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/libpcap.json b/_badges/libpcap.json
new file mode 100644
index 00000000..5c0a3a4a
--- /dev/null
+++ b/_badges/libpcap.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libpcap"
+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/libraylib.json b/_badges/libraylib.json
new file mode 100644
index 00000000..e1f96e3f
--- /dev/null
+++ b/_badges/libraylib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libraylib"
+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_mixer.json b/_badges/libsdl2_mixer.json
new file mode 100644
index 00000000..7f6bec97
--- /dev/null
+++ b/_badges/libsdl2_mixer.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libsdl2_mixer"
+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/libsecret.json b/_badges/libsecret.json
new file mode 100644
index 00000000..19501e69
--- /dev/null
+++ b/_badges/libsecret.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libsecret"
+version:
+---
diff --git a/_badges/libsimpleio.json b/_badges/libsimpleio.json
new file mode 100644
index 00000000..8a5c74c9
--- /dev/null
+++ b/_badges/libsimpleio.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "libsimpleio"
+version: "2.22364.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/light_arduino_due.json b/_badges/light_arduino_due.json
new file mode 100644
index 00000000..489a95ff
--- /dev/null
+++ b/_badges/light_arduino_due.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "light_arduino_due"
+version: "0.2.0"
+---
diff --git a/_badges/light_blackpill_stm32f401.json b/_badges/light_blackpill_stm32f401.json
new file mode 100644
index 00000000..58f29928
--- /dev/null
+++ b/_badges/light_blackpill_stm32f401.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "light_blackpill_stm32f401"
+version: "0.2.0"
+---
diff --git a/_badges/light_fk723m1_zgt6.json b/_badges/light_fk723m1_zgt6.json
new file mode 100644
index 00000000..bec7ab03
--- /dev/null
+++ b/_badges/light_fk723m1_zgt6.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "light_fk723m1_zgt6"
+version: "0.1.0"
+---
diff --git a/_badges/lined.json b/_badges/lined.json
new file mode 100644
index 00000000..d13e1b64
--- /dev/null
+++ b/_badges/lined.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lined"
+version: "20240419.0.0"
+---
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/lispcli.json b/_badges/lispcli.json
new file mode 100644
index 00000000..8aed10fa
--- /dev/null
+++ b/_badges/lispcli.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lispcli"
+version: "0.1.1"
+---
diff --git a/_badges/list_image.json b/_badges/list_image.json
new file mode 100644
index 00000000..39dd7da7
--- /dev/null
+++ b/_badges/list_image.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "list_image"
+version: "1.0.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/loadcpm.json b/_badges/loadcpm.json
new file mode 100644
index 00000000..c161dfc5
--- /dev/null
+++ b/_badges/loadcpm.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "loadcpm"
+version: "0.1.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..ba2f2e6a
--- /dev/null
+++ b/_badges/lzmada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "lzmada"
+version: "1.1.4"
+---
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/magicada.json b/_badges/magicada.json
new file mode 100644
index 00000000..09028b87
--- /dev/null
+++ b/_badges/magicada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "magicada"
+version: "1.0.1"
+---
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..3fbf3aec
--- /dev/null
+++ b/_badges/markdown.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "markdown"
+version: "25.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..3157d467
--- /dev/null
+++ b/_badges/mcp2221.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mcp2221"
+version: "2.22364.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/mine_detector.json b/_badges/mine_detector.json
new file mode 100644
index 00000000..a7b5861a
--- /dev/null
+++ b/_badges/mine_detector.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mine_detector"
+version: "20220720.0.0"
+---
diff --git a/_badges/minimal_containers.json b/_badges/minimal_containers.json
new file mode 100644
index 00000000..23f50f54
--- /dev/null
+++ b/_badges/minimal_containers.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "minimal_containers"
+version: "1.2.1"
+---
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.json b/_badges/mold.json
new file mode 100644
index 00000000..5428822d
--- /dev/null
+++ b/_badges/mold.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mold"
+version: "1.0.3"
+---
diff --git a/_badges/mold_lib.json b/_badges/mold_lib.json
new file mode 100644
index 00000000..a190d929
--- /dev/null
+++ b/_badges/mold_lib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "mold_lib"
+version: "2.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_aarch64.json b/_badges/muntsos_aarch64.json
new file mode 100644
index 00000000..7b8b62ab
--- /dev/null
+++ b/_badges/muntsos_aarch64.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_aarch64"
+version: "9.1.0"
+---
diff --git a/_badges/muntsos_beaglebone.json b/_badges/muntsos_beaglebone.json
new file mode 100644
index 00000000..240b44ec
--- /dev/null
+++ b/_badges/muntsos_beaglebone.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_beaglebone"
+version: "9.1.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..b83dbaf1
--- /dev/null
+++ b/_badges/muntsos_raspberrypi1.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_raspberrypi1"
+version: "9.1.0"
+---
diff --git a/_badges/muntsos_raspberrypi2.json b/_badges/muntsos_raspberrypi2.json
new file mode 100644
index 00000000..fd8dd86e
--- /dev/null
+++ b/_badges/muntsos_raspberrypi2.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_raspberrypi2"
+version: "9.1.0"
+---
diff --git a/_badges/muntsos_raspberrypi3.json b/_badges/muntsos_raspberrypi3.json
new file mode 100644
index 00000000..c4d4331d
--- /dev/null
+++ b/_badges/muntsos_raspberrypi3.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_raspberrypi3"
+version: "9.1.0"
+---
diff --git a/_badges/muntsos_raspberrypi4.json b/_badges/muntsos_raspberrypi4.json
new file mode 100644
index 00000000..5389be4a
--- /dev/null
+++ b/_badges/muntsos_raspberrypi4.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_raspberrypi4"
+version: "9.1.0"
+---
diff --git a/_badges/muntsos_raspberrypi5.json b/_badges/muntsos_raspberrypi5.json
new file mode 100644
index 00000000..853aa4f9
--- /dev/null
+++ b/_badges/muntsos_raspberrypi5.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "muntsos_raspberrypi5"
+version: "9.1.0"
+---
diff --git a/_badges/musicplayer.json b/_badges/musicplayer.json
new file mode 100644
index 00000000..8de59c80
--- /dev/null
+++ b/_badges/musicplayer.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "musicplayer"
+version: "20210719.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/ocarina_lib.json b/_badges/ocarina_lib.json
new file mode 100644
index 00000000..2114dbc0
--- /dev/null
+++ b/_badges/ocarina_lib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ocarina_lib"
+version: "1.1.0-20070603"
+---
diff --git a/_badges/openai.json b/_badges/openai.json
new file mode 100644
index 00000000..1d7825bb
--- /dev/null
+++ b/_badges/openai.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openai"
+version: "1.0.0"
+---
diff --git a/_badges/openapi.json b/_badges/openapi.json
new file mode 100644
index 00000000..5101aaa7
--- /dev/null
+++ b/_badges/openapi.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openapi"
+version: "0.8.0"
+---
diff --git a/_badges/openapi_server.json b/_badges/openapi_server.json
new file mode 100644
index 00000000..03c2dca6
--- /dev/null
+++ b/_badges/openapi_server.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "openapi_server"
+version: "0.8.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/opentoken.json b/_badges/opentoken.json
new file mode 100644
index 00000000..a9545e3a
--- /dev/null
+++ b/_badges/opentoken.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "opentoken"
+version: "6.0.3"
+---
diff --git a/_badges/optional.json b/_badges/optional.json
new file mode 100644
index 00000000..0b723740
--- /dev/null
+++ b/_badges/optional.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "optional"
+version: "0.2.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/parallelize.json b/_badges/parallelize.json
new file mode 100644
index 00000000..40b77e89
--- /dev/null
+++ b/_badges/parallelize.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "parallelize"
+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/password_gen.json b/_badges/password_gen.json
new file mode 100644
index 00000000..248f301c
--- /dev/null
+++ b/_badges/password_gen.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "password_gen"
+version: "20220720.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/phcpack.json b/_badges/phcpack.json
new file mode 100644
index 00000000..4f03d1c9
--- /dev/null
+++ b/_badges/phcpack.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "phcpack"
+version: "2.4.88"
+---
diff --git a/_badges/pico_bsp.json b/_badges/pico_bsp.json
new file mode 100644
index 00000000..d42edf1c
--- /dev/null
+++ b/_badges/pico_bsp.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pico_bsp"
+version: "2.2.0"
+---
diff --git a/_badges/pico_examples.json b/_badges/pico_examples.json
new file mode 100644
index 00000000..c3fc341f
--- /dev/null
+++ b/_badges/pico_examples.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pico_examples"
+version: "2.2.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/pla_util.json b/_badges/pla_util.json
new file mode 100644
index 00000000..9941eac5
--- /dev/null
+++ b/_badges/pla_util.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pla_util"
+version: "2.1.2"
+---
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/portable_minimal_ada_rts.json b/_badges/portable_minimal_ada_rts.json
new file mode 100644
index 00000000..6911a654
--- /dev/null
+++ b/_badges/portable_minimal_ada_rts.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "portable_minimal_ada_rts"
+version: "1.0.0"
+---
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..7dcaae45
--- /dev/null
+++ b/_badges/powerjoular.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "powerjoular"
+version: "1.0.4"
+---
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/pragmarc.json b/_badges/pragmarc.json
new file mode 100644
index 00000000..90fd61c7
--- /dev/null
+++ b/_badges/pragmarc.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "pragmarc"
+version: "20240810.0.0"
+---
diff --git a/_badges/prettier_ada.json b/_badges/prettier_ada.json
new file mode 100644
index 00000000..f61004b2
--- /dev/null
+++ b/_badges/prettier_ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "prettier_ada"
+version: "25.0.0"
+---
diff --git a/_badges/printer_toolkit.json b/_badges/printer_toolkit.json
new file mode 100644
index 00000000..f2efc071
--- /dev/null
+++ b/_badges/printer_toolkit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "printer_toolkit"
+version: "0.2.0"
+---
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/qmc5883.json b/_badges/qmc5883.json
new file mode 100644
index 00000000..e39c3139
--- /dev/null
+++ b/_badges/qmc5883.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "qmc5883"
+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/qplt.json b/_badges/qplt.json
new file mode 100644
index 00000000..e41098e0
--- /dev/null
+++ b/_badges/qplt.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "qplt"
+version: "20230720.0.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/raylib.json b/_badges/raylib.json
new file mode 100644
index 00000000..6f7a4092
--- /dev/null
+++ b/_badges/raylib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "raylib"
+version: "1.0.1"
+---
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..1926aa85
--- /dev/null
+++ b/_badges/remoteio.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "remoteio"
+version: "2.22357.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..83a6f213
--- /dev/null
+++ b/_badges/rp2040_hal.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "rp2040_hal"
+version: "2.4.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/sciada.json b/_badges/sciada.json
new file mode 100644
index 00000000..ab80861b
--- /dev/null
+++ b/_badges/sciada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "sciada"
+version: "0.4.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..ea6303c8
--- /dev/null
+++ b/_badges/sdlada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "sdlada"
+version: "2.5.20"
+---
diff --git a/_badges/secretada.json b/_badges/secretada.json
new file mode 100644
index 00000000..343e6ccf
--- /dev/null
+++ b/_badges/secretada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "secretada"
+version: "1.0.0"
+---
diff --git a/_badges/security.json b/_badges/security.json
new file mode 100644
index 00000000..4fb10c44
--- /dev/null
+++ b/_badges/security.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "security"
+version: "1.5.1"
+---
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..a5195beb
--- /dev/null
+++ b/_badges/septum.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "septum"
+version: "0.0.8"
+---
diff --git a/_badges/serverfaces.json b/_badges/serverfaces.json
new file mode 100644
index 00000000..81f608c9
--- /dev/null
+++ b/_badges/serverfaces.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "serverfaces"
+version: "1.6.1"
+---
diff --git a/_badges/serverfaces_unit.json b/_badges/serverfaces_unit.json
new file mode 100644
index 00000000..2096f05e
--- /dev/null
+++ b/_badges/serverfaces_unit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "serverfaces_unit"
+version: "1.6.1"
+---
diff --git a/_badges/servletada.json b/_badges/servletada.json
new file mode 100644
index 00000000..12aced01
--- /dev/null
+++ b/_badges/servletada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "servletada"
+version: "1.7.1"
+---
diff --git a/_badges/servletada_aws.json b/_badges/servletada_aws.json
new file mode 100644
index 00000000..da150a9e
--- /dev/null
+++ b/_badges/servletada_aws.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "servletada_aws"
+version: "1.7.1"
+---
diff --git a/_badges/servletada_ews.json b/_badges/servletada_ews.json
new file mode 100644
index 00000000..cec01ac8
--- /dev/null
+++ b/_badges/servletada_ews.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "servletada_ews"
+version: "1.7.1"
+---
diff --git a/_badges/servletada_unit.json b/_badges/servletada_unit.json
new file mode 100644
index 00000000..907036eb
--- /dev/null
+++ b/_badges/servletada_unit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "servletada_unit"
+version: "1.7.1"
+---
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/simcpucli.json b/_badges/simcpucli.json
new file mode 100644
index 00000000..9c745269
--- /dev/null
+++ b/_badges/simcpucli.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "simcpucli"
+version: "0.1.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..94482c82
--- /dev/null
+++ b/_badges/simple_components.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "simple_components"
+version: "4.68.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..d2a33692
--- /dev/null
+++ b/_badges/sparknacl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "sparknacl"
+version: "4.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..9fc3a0c7
--- /dev/null
+++ b/_badges/spawn.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "spawn"
+version: "25.0.0"
+---
diff --git a/_badges/spawn_glib.json b/_badges/spawn_glib.json
new file mode 100644
index 00000000..b83cfbc7
--- /dev/null
+++ b/_badges/spawn_glib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "spawn_glib"
+version: "25.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/splitter.json b/_badges/splitter.json
new file mode 100644
index 00000000..0e21cd59
--- /dev/null
+++ b/_badges/splitter.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "splitter"
+version: "1.0.2"
+---
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/ssl.json b/_badges/ssl.json
new file mode 100644
index 00000000..704acc10
--- /dev/null
+++ b/_badges/ssl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ssl"
+version:
+---
diff --git a/_badges/st7789.json b/_badges/st7789.json
new file mode 100644
index 00000000..f2ff576a
--- /dev/null
+++ b/_badges/st7789.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "st7789"
+version: "0.1.0"
+---
diff --git a/_badges/startup_gen.json b/_badges/startup_gen.json
new file mode 100644
index 00000000..4a41b3d2
--- /dev/null
+++ b/_badges/startup_gen.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "startup_gen"
+version: "25.0.0"
+---
diff --git a/_badges/stephes_ada_library.json b/_badges/stephes_ada_library.json
new file mode 100644
index 00000000..0a87a68c
--- /dev/null
+++ b/_badges/stephes_ada_library.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "stephes_ada_library"
+version: "3.7.3"
+---
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/suika_programing.json b/_badges/suika_programing.json
new file mode 100644
index 00000000..5d611d44
--- /dev/null
+++ b/_badges/suika_programing.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "suika_programing"
+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..40bbd1c1
--- /dev/null
+++ b/_badges/templates_parser.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "templates_parser"
+version: "25.0.0"
+---
diff --git a/_badges/texcad.json b/_badges/texcad.json
new file mode 100644
index 00000000..9739e0ae
--- /dev/null
+++ b/_badges/texcad.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "texcad"
+version: "4.5.3"
+---
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..a5fe9a21
--- /dev/null
+++ b/_badges/tiny_text.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "tiny_text"
+version: "1.3.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/ulid.json b/_badges/ulid.json
new file mode 100644
index 00000000..3397feef
--- /dev/null
+++ b/_badges/ulid.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "ulid"
+version: "20240921.0.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/universal_text_file.json b/_badges/universal_text_file.json
new file mode 100644
index 00000000..48c29005
--- /dev/null
+++ b/_badges/universal_text_file.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "universal_text_file"
+version: "20220720.0.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..fecdb47c
--- /dev/null
+++ b/_badges/usb_embedded.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "usb_embedded"
+version: "1.0.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..11d9a84f
--- /dev/null
+++ b/_badges/utilada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada"
+version: "2.8.0"
+---
diff --git a/_badges/utilada_aws.json b/_badges/utilada_aws.json
new file mode 100644
index 00000000..592013c4
--- /dev/null
+++ b/_badges/utilada_aws.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_aws"
+version: "2.8.0"
+---
diff --git a/_badges/utilada_curl.json b/_badges/utilada_curl.json
new file mode 100644
index 00000000..ec39b798
--- /dev/null
+++ b/_badges/utilada_curl.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_curl"
+version: "2.8.0"
+---
diff --git a/_badges/utilada_lzma.json b/_badges/utilada_lzma.json
new file mode 100644
index 00000000..bfcf8f2a
--- /dev/null
+++ b/_badges/utilada_lzma.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_lzma"
+version: "2.8.0"
+---
diff --git a/_badges/utilada_unit.json b/_badges/utilada_unit.json
new file mode 100644
index 00000000..e439ea00
--- /dev/null
+++ b/_badges/utilada_unit.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_unit"
+version: "2.8.0"
+---
diff --git a/_badges/utilada_xml.json b/_badges/utilada_xml.json
new file mode 100644
index 00000000..fec993c0
--- /dev/null
+++ b/_badges/utilada_xml.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "utilada_xml"
+version: "2.8.0"
+---
diff --git a/_badges/uxstrings.json b/_badges/uxstrings.json
new file mode 100644
index 00000000..1266068b
--- /dev/null
+++ b/_badges/uxstrings.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "uxstrings"
+version: "0.8.1+alpha-20241006"
+---
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..c84d82de
--- /dev/null
+++ b/_badges/vss.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "vss"
+version: "25.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/webif_example.json b/_badges/webif_example.json
new file mode 100644
index 00000000..83d94451
--- /dev/null
+++ b/_badges/webif_example.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "webif_example"
+version: "0.1.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/whitakers_words.json b/_badges/whitakers_words.json
new file mode 100644
index 00000000..64ee63ab
--- /dev/null
+++ b/_badges/whitakers_words.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "whitakers_words"
+version: "0.20240801.0"
+---
diff --git a/_badges/wikiada.json b/_badges/wikiada.json
new file mode 100644
index 00000000..87a84cf0
--- /dev/null
+++ b/_badges/wikiada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wikiada"
+version: "1.4.2"
+---
diff --git a/_badges/wikibook.json b/_badges/wikibook.json
new file mode 100644
index 00000000..5b21f5d9
--- /dev/null
+++ b/_badges/wikibook.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wikibook"
+version: "1.0.1"
+---
diff --git a/_badges/win32ada.json b/_badges/win32ada.json
new file mode 100644
index 00000000..19534c1b
--- /dev/null
+++ b/_badges/win32ada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "win32ada"
+version: "23.0.0"
+---
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..3d8fa176
--- /dev/null
+++ b/_badges/wisitoken.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wisitoken"
+version: "4.2.1"
+---
diff --git a/_badges/wl_lib.json b/_badges/wl_lib.json
new file mode 100644
index 00000000..747d0d98
--- /dev/null
+++ b/_badges/wl_lib.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "wl_lib"
+version: "0.1.4"
+---
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..938f9ae8
--- /dev/null
+++ b/_badges/xia.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "xia"
+version: "1.4.1"
+---
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..e990203c
--- /dev/null
+++ b/_badges/xmlada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "xmlada"
+version: "25.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/yass.json b/_badges/yass.json
new file mode 100644
index 00000000..9a423e80
--- /dev/null
+++ b/_badges/yass.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "yass"
+version: "3.1.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/z_compression.json b/_badges/z_compression.json
new file mode 100644
index 00000000..f7bd53cd
--- /dev/null
+++ b/_badges/z_compression.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "z_compression"
+version: "20240724.0.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..39bb21cf
--- /dev/null
+++ b/_badges/zipada.json
@@ -0,0 +1,5 @@
+---
+layout: badge
+crate: "zipada"
+version: "60.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/a0b_armv7m.md b/_crates/a0b_armv7m.md
new file mode 100644
index 00000000..c2649838
--- /dev/null
+++ b/_crates/a0b_armv7m.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "a0b_armv7m"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/godunko/a0b-base"]
+tags: ["a0b",
+"embedded",
+"armv7m",
+"cortex-m",
+"cortex-m3",
+"cortex-m4",
+"cortex-m7"]
+version: "0.2.0"
+short_description: "A0B: ARMv7-M support (Cortex-M3, Cortex-M4, Cortex-M7)"
+dependencies: [{crate: "a0b_base", version: "*"},
+{crate: "gnat_arm_elf", version: "*"}]
+configuration_variables: [{name: 'FPU_Extension', type: 'Enum (none, VFPv4, VFPv5)'}]
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_armv7m_systick_clock.md b/_crates/a0b_armv7m_systick_clock.md
new file mode 100644
index 00000000..2c9756c6
--- /dev/null
+++ b/_crates/a0b_armv7m_systick_clock.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "a0b_armv7m_systick_clock"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"time",
+"armv7m"]
+version: "0.1.0"
+short_description: "A0B Monotonic Clock by ARMv7M SysTick"
+dependencies: [{crate: "a0b_armv7m", version: "*"},
+{crate: "a0b_base", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_armv7m_systick_clock_timer.md b/_crates/a0b_armv7m_systick_clock_timer.md
new file mode 100644
index 00000000..e187314c
--- /dev/null
+++ b/_crates/a0b_armv7m_systick_clock_timer.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "a0b_armv7m_systick_clock_timer"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"time",
+"timer",
+"systick"]
+version: "0.1.0"
+short_description: "A0B Monotonic Clock and Timer by ARMv7M SysTick"
+dependencies: [{crate: "a0b_armv7m", version: "*"},
+{crate: "a0b_base", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_atsam3x8e.md b/_crates/a0b_atsam3x8e.md
new file mode 100644
index 00000000..fd563629
--- /dev/null
+++ b/_crates/a0b_atsam3x8e.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "a0b_atsam3x8e"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"atsam3x8e",
+"sam3x8e",
+"arduino",
+"due",
+"svd"]
+version: "0.2.0"
+short_description: "A0B ATSAM3X8E MCU Support"
+dependencies: [{crate: "a0b_armv7m", version: "*"},
+{crate: "gnat_arm_elf", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_atsam3x8e_gpio.md b/_crates/a0b_atsam3x8e_gpio.md
new file mode 100644
index 00000000..7877c9c3
--- /dev/null
+++ b/_crates/a0b_atsam3x8e_gpio.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "a0b_atsam3x8e_gpio"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"gpio",
+"atsam3x8e",
+"sam3x8e",
+"arduino",
+"due"]
+version: "0.1.0"
+short_description: "A0B ATSAM3X8E GPIO/EXTI"
+dependencies: [{crate: "a0b_atsam3x8e", version: "*"},
+{crate: "a0b_exti", version: "*"},
+{crate: "a0b_gpio", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_atsam3x8e_tc5_timer.md b/_crates/a0b_atsam3x8e_tc5_timer.md
new file mode 100644
index 00000000..88b47b9c
--- /dev/null
+++ b/_crates/a0b_atsam3x8e_tc5_timer.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "a0b_atsam3x8e_tc5_timer"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"timer",
+"atsam3x8e",
+"sam3x8e",
+"arduino",
+"due"]
+version: "0.1.0"
+short_description: "A0B ATSAM3X8E High Resulotion Timer on top of TC5"
+dependencies: [{crate: "a0b_atsam3x8e", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_atsam3x8e_twi_i2c.md b/_crates/a0b_atsam3x8e_twi_i2c.md
new file mode 100644
index 00000000..f5aa2e12
--- /dev/null
+++ b/_crates/a0b_atsam3x8e_twi_i2c.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "a0b_atsam3x8e_twi_i2c"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["embedded",
+"i2c",
+"atsam3x8e",
+"twi",
+"arduino",
+"due"]
+version: "0.1.0"
+short_description: "A0B ATSAM3X8E TWI I2C Driver"
+dependencies: [{crate: "a0b_atsam3x8e_gpio", version: "*"},
+{crate: "a0b_i2c", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_base.md b/_crates/a0b_base.md
new file mode 100644
index 00000000..da92db8e
--- /dev/null
+++ b/_crates/a0b_base.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "a0b_base"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/godunko/a0b-base"]
+tags: ["a0b",
+"types",
+"builtins"]
+version: "0.3.0"
+short_description: "A0B: Base components"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_callbacks.md b/_crates/a0b_callbacks.md
new file mode 100644
index 00000000..15bd8510
--- /dev/null
+++ b/_crates/a0b_callbacks.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "a0b_callbacks"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/godunko/a0b-callbacks"]
+tags: ["a0b",
+"callbacks"]
+version: "0.2.0"
+short_description: "A0B Callbacks"
+dependencies: [{crate: "a0b_base", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_exti.md b/_crates/a0b_exti.md
new file mode 100644
index 00000000..1e1b0bee
--- /dev/null
+++ b/_crates/a0b_exti.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "a0b_exti"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"exti"]
+version: "0.1.0"
+short_description: "A0B: EXTI API"
+dependencies: [{crate: "a0b_base", version: "*"},
+{crate: "a0b_callbacks", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_gpio.md b/_crates/a0b_gpio.md
new file mode 100644
index 00000000..1b8e1fd2
--- /dev/null
+++ b/_crates/a0b_gpio.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "a0b_gpio"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["embedded",
+"gpio"]
+version: "0.1.0"
+short_description: "A0B GIOP API"
+dependencies: [{crate: "a0b_base", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_i2c.md b/_crates/a0b_i2c.md
new file mode 100644
index 00000000..2877129e
--- /dev/null
+++ b/_crates/a0b_i2c.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "a0b_i2c"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"i2c"]
+version: "0.1.0"
+short_description: "A0B I2C API"
+dependencies: [{crate: "a0b_base", version: "*"},
+{crate: "a0b_callbacks", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_stm32f401.md b/_crates/a0b_stm32f401.md
new file mode 100644
index 00000000..8b6ae43c
--- /dev/null
+++ b/_crates/a0b_stm32f401.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "a0b_stm32f401"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/godunko/a0b-stm32f401"]
+tags: ["a0b",
+"embedded",
+"svd",
+"stm32",
+"stm32f4",
+"stm32f401"]
+version: "0.2.0"
+short_description: "A0B: STM32F401 base and SVD package"
+dependencies: [{crate: "a0b_armv7m", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_stm32f401_dma.md b/_crates/a0b_stm32f401_dma.md
new file mode 100644
index 00000000..f3f33765
--- /dev/null
+++ b/_crates/a0b_stm32f401_dma.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "a0b_stm32f401_dma"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"dma",
+"stm32",
+"stm32f4",
+"stm32f401"]
+version: "0.1.0"
+short_description: "A0B: STM32F401 DMA"
+dependencies: [{crate: "a0b_base", version: "*"},
+{crate: "a0b_callbacks", version: "*"},
+{crate: "a0b_stm32f401", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_stm32f401_gpio.md b/_crates/a0b_stm32f401_gpio.md
new file mode 100644
index 00000000..aea43959
--- /dev/null
+++ b/_crates/a0b_stm32f401_gpio.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "a0b_stm32f401_gpio"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"stm32",
+"stm32f401",
+"gpio",
+"exti"]
+version: "0.1.0"
+short_description: "A0B: STM32F401 GPIO/EXTI"
+dependencies: [{crate: "a0b_exti", version: "*"},
+{crate: "a0b_gpio", version: "*"},
+{crate: "a0b_stm32f401", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_stm32f401_i2c.md b/_crates/a0b_stm32f401_i2c.md
new file mode 100644
index 00000000..7bcf0d8a
--- /dev/null
+++ b/_crates/a0b_stm32f401_i2c.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "a0b_stm32f401_i2c"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"i2c",
+"stm32",
+"stm32f4",
+"stm32f401"]
+version: "0.1.0"
+short_description: "A0B: STM32F401 I2C"
+dependencies: [{crate: "a0b_i2c", version: "*"},
+{crate: "a0b_stm32f401_dma", version: "*"},
+{crate: "a0b_stm32f401_gpio", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_stm32f401_tim11_timer.md b/_crates/a0b_stm32f401_tim11_timer.md
new file mode 100644
index 00000000..b2c63309
--- /dev/null
+++ b/_crates/a0b_stm32f401_tim11_timer.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "a0b_stm32f401_tim11_timer"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"timer",
+"stm32",
+"stm32f4",
+"stm32f401"]
+version: "0.1.0"
+short_description: "A0B: Timer based on STM32F401 TIM11"
+dependencies: [{crate: "a0b_base", version: "*"},
+{crate: "a0b_stm32f401", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_time.md b/_crates/a0b_time.md
new file mode 100644
index 00000000..ac6824bb
--- /dev/null
+++ b/_crates/a0b_time.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "a0b_time"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"time"]
+version: "0.2.0"
+short_description: "A0B Monotonic Time"
+dependencies: [{crate: "a0b_base", version: "*"},
+{crate: "a0b_time_platform", version: "0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/a0b_timer.md b/_crates/a0b_timer.md
new file mode 100644
index 00000000..d04c3176
--- /dev/null
+++ b/_crates/a0b_timer.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "a0b_timer"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"timer"]
+version: "0.1.0"
+short_description: "A0B Timer"
+dependencies: [{crate: "a0b_base", version: "*"},
+{crate: "a0b_callbacks", version: "*"},
+{crate: "a0b_time", version: "*"},
+{crate: "a0b_timer_platform", version: "0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
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_gui.md b/_crates/ada_gui.md
new file mode 100644
index 00000000..4fb2f01b
--- /dev/null
+++ b/_crates/ada_gui.md
@@ -0,0 +1,52 @@
+---
+layout: crate
+crate: "ada_gui"
+authors: ["Jeff Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/Ada_GUI"]
+tags: ["gui",
+"widgets",
+"html"]
+version: "20240224.0.1"
+short_description: "An Ada-oriented GUI"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"},
+{crate: "simple_components", version: "^4.68.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Ada_GUI
+An Ada-oriented GUI
+
+Traditionally, GUIs have been implemented by the client registering callback operations, then giving up its thread of control to the GUI. This is a hack to address the inherent parallelism of a GUI in sequential languages. It results in code that is unnecessarily difficult to understand.
+
+In a concurrent language like Ada, a better design for a GUI is for the GUI to have its own task, so it doesn't require that its client give up a thread of control. GUI events are communicated to the client through a protected queue of events. The client software can be written in the clearest way possible, unconstrained by the GUI.
+
+Ada_GUI is such a GUI.
+
+The purpose of Ada_GUI is to provide the specification, in hopes that multiple implementations will be created. Note that some of the comments in the specification are specific to the sample implementation, and should be removed or modified for other implementations. Especially interesting would be an implementation that is not GNAT specific.
+
+## Sample Implementation
+
+A sample implementation of Ada_GUI is supplied, derived from Gnoga, but simplified, reorganized, and converted to put events on a protected queue rather than call callbacks. The name Gnoga has been retained for the name of the implementation hierarchy, located at Ada_GUI.Gnoga, in recognition. Those parts of Kazakov's Simple Components used by the implementation are provided as well, with some minor modifications. If you have your own version of the Simple Components, you may use it instead: Delete all Ada source files that do not begin with ada_gui.
+
+The sample implementation is reasonably full-featured and useful. The implementation is more responsive than the former proof-of-concept directly on full Gnoga.
+
+The Test directory contains boot.html, boot.js, and jquery.min.js. These files must be available to every Ada-GUI program. It also contains favicon.ico, an icon of Ada.
+
+Show_All creates at least one of each widget. Visibility, playing audio, and responding to key-press events is demonstrated. Changing this program is the easiest way to experiment with the sample implementation. The audio file glass.ogg and image file rgb.jpg are used by Show_All.
+
+Luhn_Gen calculates Luhn checksum digits. Enter the first 15 digits of your credit-card number and it will generate the 16th.
+
+Random_Int is a Gnoga program that has been revised to use Ada GUI instead. It will generate random integers in a desired range.
+
+## Installation of the Sample Implementation
+
+Gnoga and the Simple Components require a recent GNAT compiler, so Ada_GUI cannot be compiled with another compiler. The file gnat.adc is needed to compile the Simple Components extensions to GNAT.Sockets. The use of gnatmake is recommended, as gprbuild is for mixed-language or complicated builds, which this is not. After compiling, it is recommended that you write-protect the .ali files. Typically, you can use a command such as
+
+gnatmake -m -j0 -gnat12 -gnatan -gnato2 -O2 -fstack-check Test/show_all.adb
+
+If you keep the Ada-GUI source files in a single directory, including the Simple Components source files, and have the compiler put the object and .ali files in that directory, then you need only add -I/path/to/Ada_GUI/ to your program's gnatmake command to use Ada_GUI.
+
+
diff --git a/_crates/ada_language_server.md b/_crates/ada_language_server.md
new file mode 100644
index 00000000..e9772fe9
--- /dev/null
+++ b/_crates/ada_language_server.md
@@ -0,0 +1,26 @@
+---
+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: "25.0.0"
+short_description: "An implementation of the Microsoft's Language Server Protocol for Ada"
+dependencies: [{crate: "gnatcoll", version: "25.0.0"},
+{crate: "libadalang", version: "25.0.0"},
+{crate: "libadalang_tools", version: "25.0.0"},
+{crate: "libgnatdoc", version: "25.0.0"},
+{crate: "libgnatformat", version: "25.0.0"},
+{crate: "liblal_refactor", version: "25.0.0"},
+{crate: "prettier_ada", version: "25.0.0"},
+{crate: "spawn", version: "25.0.0"},
+{crate: "vss", version: "25.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..72fbb4b6
--- /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.5.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..6f3efdeb
--- /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.9.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..ab66e2d4
--- /dev/null
+++ b/_crates/adacl.md
@@ -0,0 +1,53 @@
+---
+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.16.1"
+short_description: "Ada Class Library (String, Trace, AUnit, Smart Pointer. GetOpt)"
+dependencies: [{crate: "gnat_native", version: "^14.2"}]
+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 access types
+ * generic for arrays types
+ * generic for discrete types
+ * generic for float types
+ * generic for vector 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/adare_dilithium5.md b/_crates/adare_dilithium5.md
new file mode 100644
index 00000000..a7921a37
--- /dev/null
+++ b/_crates/adare_dilithium5.md
@@ -0,0 +1,33 @@
+---
+layout: crate
+crate: "adare_dilithium5"
+authors: ["Daniel Norte de Moraes"]
+maintainers: ["Daniel Norte de Moraes "]
+licenses: ["Unlicense"]
+websites: [""]
+tags: ["signature",
+"pqc"]
+version: "0.2.3"
+short_description: "Post Quantum Computer Resistant Cryptograph Sign, Dilithium5 Ada bind."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Dilithium is a digital signature scheme that is strongly secure under
+ chosen message attacks based on the hardness of lattice problems
+ over module lattices. The security notion means that an adversary
+ having access to a signing oracle cannot produce a signature of a
+ message whose signature he hasn't yet seen, nor produce a different
+ signature of a message that he already saw signed. Dilithium is one
+ of the candidate algorithms submitted to the
+ NIST post-quantum cryptography project.
+
+ Adare_Dilithium5 is a Ada 2012 bind to Dilithium5 C.
+
+ (C version at https://github.com/PQClean/PQClean)
+
+ How a Bonus all Ada packages in this lib is "Ada Pure"! :-)
+
+
+
diff --git a/_crates/adare_hqc256.md b/_crates/adare_hqc256.md
new file mode 100644
index 00000000..436ffa0e
--- /dev/null
+++ b/_crates/adare_hqc256.md
@@ -0,0 +1,32 @@
+---
+layout: crate
+crate: "adare_hqc256"
+authors: ["Daniel Norte de Moraes"]
+maintainers: ["Daniel Norte de Moraes "]
+licenses: ["Unlicense"]
+websites: [""]
+tags: ["kem",
+"pqc",
+"ss512bits"]
+version: "0.2.3"
+short_description: "Post Quantum Computer Resistant Cryptograph KEM, HQC 256 Ada bind."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+HQC (Hamming Quasi-Cyclic) is a code-based public key encryption scheme
+ designed to provide security against attacks by
+ both classical and quantum computers. HQC has been submitted
+ to the NIST's Post-Quantum Cryptography Standardization Project.
+
+ Adare_HQC256 is a Ada 2012 bind to HQC-256 C.
+
+ Adare_HQC256 has a 512 bits Shared Secret size.
+
+ (C version at https://github.com/PQClean/PQClean)
+
+ How a Bonus all Ada packages in this lib is "Ada Pure"! :-)
+
+
+
diff --git a/_crates/adasat.md b/_crates/adasat.md
new file mode 100644
index 00000000..3bb1cd86
--- /dev/null
+++ b/_crates/adasat.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "adasat"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/AdaCore/adasat"]
+tags: ["sat",
+"solver",
+"theories"]
+version: "25.0.0"
+short_description: "Implementation of a DPLL-based SAT solver in Ada."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Main features:
+
+ - [X] Conflict analysis and backjumping
+ - [X] Two-watched literals scheme
+ - [X] Built-in support for At-Most-One constraints
+ - [X] Custom theories
+
+
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..87b161cc
--- /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.1"
+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..f5b0b648
--- /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.1"
+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..5ad5abb8
--- /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.1"
+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..a06b4a64
--- /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.1"
+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..f3a52116
--- /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.7.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..05f5349d
--- /dev/null
+++ b/_crates/akt.md
@@ -0,0 +1,66 @@
+---
+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.1"
+short_description: "Ada Keystore Tool"
+dependencies: [{crate: "intl", version: "^1.0.1"},
+{crate: "keystoreada", version: "^1.4.0"},
+{crate: "utilada", version: "^2.6.0"},
+{crate: "ada_fuse", version: "*"}]
+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/alr2appimage.md b/_crates/alr2appimage.md
new file mode 100644
index 00000000..ea6dbe82
--- /dev/null
+++ b/_crates/alr2appimage.md
@@ -0,0 +1,42 @@
+---
+layout: crate
+crate: "alr2appimage"
+authors: ["Manuel Gomez"]
+maintainers: ["Manuel Gomez "]
+licenses: ["GPL-3.0-only"]
+websites: ["https://github.com/mgrojo/alr2appimage"]
+tags: ["utility",
+"appimage",
+"alire",
+"linux",
+"packaging"]
+version: "0.9.3"
+short_description: "Tool to create an AppImage executable from an Alire crate"
+dependencies: [{crate: "ada_toml", version: "^0.3.0"},
+{crate: "spoon", version: "^1.0.1"},
+{crate: "parse_args", version: "~0.9.0"},
+{crate: "resources", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+There are two prerequisites for your project to work with this tool:
+- It has to be a crate with an `executables` field. Its first value
+ has to be the main application program.
+- It must be installable using Alire, including all the needed resources.
+
+`alr2appimage` will use the following command for installing it (this requires Alire 2.0):
+```shell
+alr install
+```
+Or it will run `gprinstall` inside `alr exec`, if the former fails (Alire 1.x).
+
+If you simply run the tool inside an Alire crate, it will read the
+metadata from your `alire.toml` file and create a default AppImage
+from it.
+
+NOTE: `alr2appimage` is an independent project; it is not
+affiliated to, nor supported by, the Alire or AppImage projects.
+
+
+
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/aoa_22.md b/_crates/aoa_22.md
new file mode 100644
index 00000000..b4982b0e
--- /dev/null
+++ b/_crates/aoa_22.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "aoa_22"
+authors: ["Jeff Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/AoA_22"]
+tags: ["adventofada",
+"2022"]
+version: "20220720.0.0"
+short_description: "Advent of Ada 22 Solutions"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"},
+{crate: "pragmarc", version: "^20240323.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/aoa_23.md b/_crates/aoa_23.md
new file mode 100644
index 00000000..f26e2b66
--- /dev/null
+++ b/_crates/aoa_23.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "aoa_23"
+authors: ["Jeff Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/AoA_23"]
+tags: ["2023"]
+version: "20230119.0.0"
+short_description: "Some Advent of Ada 2023 solutions"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"},
+{crate: "pragmarc", version: "^20240323.0.0"}]
+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..0f6e228c
--- /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.5.1"
+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..8cef293e
--- /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.6.1"
+short_description: "Ada binding to SFML, the Simple and Fast Multimedia Library"
+dependencies: [{crate: "libcsfml", version: "^2.6.1"}]
+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..be53a47a
--- /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..2f6afd99
--- /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: "1.0.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..487ba73e
--- /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: "25.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..1be75015
--- /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: "3.0.0"
+short_description: "Ada finite-state machine generator"
+dependencies: [{crate: "uxstrings", version: ">=0.6"}]
+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..fe5967ac
--- /dev/null
+++ b/_crates/awa.md
@@ -0,0 +1,61 @@
+---
+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.5.0"
+short_description: "Ada Web Application"
+dependencies: [{crate: "ado", version: "^2.4.0"},
+{crate: "aws", version: "~24.0"},
+{crate: "elada", version: "^1.8.6"},
+{crate: "keystoreada", version: "^1.4.0"},
+{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: "wikiada", version: "^1.4.1"}]
+configuration_variables: []
+configuration_values: []
+
+---
+[![Build Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-util/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-util/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-util/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-util/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-util/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-util/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-util/badge/?version=latest)](https://ada-util.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..abeb448e
--- /dev/null
+++ b/_crates/awa_unit.md
@@ -0,0 +1,48 @@
+---
+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.5.0"
+short_description: "Ada Web Application (Testing framework)"
+dependencies: [{crate: "awa", version: "^2.5.0"},
+{crate: "serverfaces_unit", version: "^1.6.0"},
+{crate: "servletada_unit", 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-util/badges/build.json)](https://porion.vacs.fr/porion/projects/view/ada-util/summary)
+[![Test Status](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-util/badges/tests.json)](https://porion.vacs.fr/porion/projects/view/ada-util/xunits)
+[![Coverage](https://img.shields.io/endpoint?url=https://porion.vacs.fr/porion/api/v1/projects/ada-util/badges/coverage.json)](https://porion.vacs.fr/porion/projects/view/ada-util/summary)
+[![Documentation Status](https://readthedocs.org/projects/ada-util/badge/?version=latest)](https://ada-util.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.
+
+# 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/aws.md b/_crates/aws.md
new file mode 100644
index 00000000..29d86fc0
--- /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: "24.0.0"
+short_description: "Ada Web Server"
+dependencies: [{crate: "gnat", version: ">=12"},
+{crate: "gnatcoll", version: "~24.0.0"},
+{crate: "make", version: "*"},
+{crate: "openssl", version: "*"},
+{crate: "xmlada", version: "~24.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..8d5c6a56
--- /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.1"
+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/azip.md b/_crates/azip.md
new file mode 100644
index 00000000..a055fe4f
--- /dev/null
+++ b/_crates/azip.md
@@ -0,0 +1,44 @@
+---
+layout: crate
+crate: "azip"
+authors: ["Gautier de Montmollin"]
+maintainers: ["gdemont@hotmail.com"]
+licenses: ["MIT"]
+websites: ["https://azip.sourceforge.io/"]
+tags: ["application",
+"azip",
+"zip",
+"archive",
+"file-manager"]
+version: "2.7.0"
+short_description: "AZip - A portable Zip Archive Manager"
+dependencies: [{crate: "ini_files", version: ">=11.0.0"},
+{crate: "gwindows", version: ">=1.4.3"},
+{crate: "zipada", version: ">=59.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
+
+
+**AZip** is a free Zip Archive Manager with unique features such as: built-in content Search, smart archive Update, archive Recompression.
+
+Features:
+
+* In addition to usual archive management (Add / Remove / Extract files), AZip provides the following unique functions:
+* Super-fast in-archive Search function: content and/or entry name search through a Zip archive. No temp files written!
+* Smart archive Updater: changes only new, modified files
+* Archive Recompression: makes Zip archives smaller
+* Easy toggle from Flat view to Tree view, and back
+* Multi-document
+* Compression methods supported: Reduce, Shrink, Implode, Deflate, Deflate64, BZip2, LZMA
+* Encryption
+* Portable (no installation needed, no DLL)
+* Can operate with a config file instead of the registry (stealth mode)
+* Installable if desired (application is its own installer)
+* Compatible with other Zip archivers, regardless of the Operating System
+* **Free**, Open-Source
+
+
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_code_drawing.md b/_crates/bar_code_drawing.md
new file mode 100644
index 00000000..4a3cb420
--- /dev/null
+++ b/_crates/bar_code_drawing.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "bar_code_drawing"
+authors: ["Jeffrey Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/Bar_Code_Drawing"]
+tags: ["barcode",
+"code128",
+"msi",
+"qr",
+"upca",
+"ean13",
+"bmp",
+"pbm",
+"svg"]
+version: "20240701.0.0"
+short_description: "Creation of bar codes and qr codes"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"},
+{crate: "pragmarc", version: "^20240323.0.0"},
+{crate: "ada_gui", version: "^20240224.0.0"},
+{crate: "image_io", version: "^20240601.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/bar_codes.md b/_crates/bar_codes.md
new file mode 100644
index 00000000..0f75d3be
--- /dev/null
+++ b/_crates/bar_codes.md
@@ -0,0 +1,67 @@
+---
+layout: crate
+crate: "bar_codes"
+authors: ["Gautier de Montmollin"]
+maintainers: ["fabien.chouteau@gmail.com"]
+licenses: ["MIT"]
+websites: ["https://ada-bar-codes.sourceforge.io/"]
+tags: ["bar",
+"code",
+"barcode",
+"bar-code",
+"datamatrix",
+"data-matrix",
+"qr",
+"qrcode",
+"qr-code",
+"code128",
+"msi",
+"ean13",
+"upca",
+"pbm",
+"pdf",
+"png",
+"svg"]
+version: "5.0.0"
+short_description: "Generate various types of bar codes (1D or 2D) on various media"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
+
+
+Some features:
+
+* 1D bar codes supported: Code 128, EAN-13, MSI, UPC-A
+* 2D bar codes supported: Data Matrix, QR Codes
+* 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 2012: this package can be used in projects in Ada 2012 and later versions of the Ada language
+* Tests and demos included
+* *Free*, open-source
+
+The creation of a bar code is as simple as this small procedure:
+
+```ada
+with Ada.Text_IO, Bar_Codes, Bar_Codes_Media;
+
+procedure Small_Demo is
+ use Ada.Text_IO;
+ svg : File_Type;
+begin
+ Create (svg, Out_File, "qr_code.svg");
+ Put_Line
+ (svg,
+ Bar_Codes_Media.SVG_Bar_Code
+ (Bar_Codes.Code_QR_Low, 100.0, 100.0, "mm", "Hello"));
+ Close (svg);
+end Small_Demo;
+```
+
+
diff --git a/_crates/bare_runtime.md b/_crates/bare_runtime.md
new file mode 100644
index 00000000..a8d4f60e
--- /dev/null
+++ b/_crates/bare_runtime.md
@@ -0,0 +1,47 @@
+---
+layout: crate
+crate: "bare_runtime"
+authors: ["AdaCore"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/Fabien-Chouteau/bare_runtime"]
+tags: ["embedded",
+"runtime"]
+version: "14.0.0"
+short_description: "Minimal Ada/SPARK run-time for embedded or other restricted targets"
+dependencies: [{crate: "gnat", version: "^14"}]
+configuration_variables: [{name: 'LCH_Print_Info', type: 'Boolean', default: "false"},
+{name: 'LCH_Reset', type: 'Boolean', default: "false"}]
+configuration_values: []
+
+---
+## Usage
+
+First edit you `alire.toml` file and add the following elements:
+ - Add `bare_runtime` in the dependency list:
+ ```toml
+ [[depends-on]]
+ bare_runtime = "*"
+ ```
+ - Add cross GNAT in the dependency list (e.g. gnat_arm_elf):
+ ```toml
+ [[depends-on]]
+ gnat_arm_elf = "*"
+ ```
+ - Set the architecture build switches, we use ARM Cortex-M4F as an example here:
+ ```toml
+ [gpr-set-externals]
+ BARE_RUNTIME_SWITCHES = "-mlittle-endian -mthumb -mfloat-abi=hard -mcpu=cortex-m4 -mfpu=fpv4-sp-d16"
+ ```
+
+Then edit your project file to add the following elements:
+ - "with" the run-time project file. With this, gprbuild will compile the run-time before your application
+ ```ada
+ with "bare_runtime.gpr";
+ ```
+ - Specify the `Target` and `Runtime` attributes:
+ ```ada
+ for Target use "arm-eabi";
+ for Runtime ("Ada") use Bare_Runtime'Runtime ("Ada");
+
+
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..bcaae053
--- /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: "1.0.0"
+short_description: "DMA friendly lock-free BipBuffer"
+dependencies: [{crate: "atomic", version: "^1.0.0"},
+{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/bbs.md b/_crates/bbs.md
new file mode 100644
index 00000000..8ec8c087
--- /dev/null
+++ b/_crates/bbs.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "bbs"
+authors: ["Brent Seidel"]
+maintainers: ["Brent Seidel "]
+licenses: ["0BSD"]
+websites: ["https://github.com/BrentSeidel/BBS-Ada"]
+tags: ["units"]
+version: "0.1.0"
+short_description: "Root package for other crates and contains some physical units"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/bbs_embed_common.md b/_crates/bbs_embed_common.md
new file mode 100644
index 00000000..346eedd0
--- /dev/null
+++ b/_crates/bbs_embed_common.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "bbs_embed_common"
+authors: ["Brent Seidel"]
+maintainers: ["Brent Seidel "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/BrentSeidel/BBS-BBB-Ada"]
+tags: ["embedded"]
+version: "0.1.0"
+short_description: "Abstract hardware drivers and drivers for some i2c bus devices."
+dependencies: [{crate: "bbs", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This crate contains base classes for some hardware devices such as Analog
+Inputs, GPIO pins, I2C bus, and SPI bus. It also contains drivers for
+devices that use, for example, an I2C bus.
+
+By itself, this crate isn't much use. It will need to be used with the
+bbs_embed_linux crate which contains hardware drivers for the Raspberry Pi
+and BeagleBone Black.
+
+
diff --git a/_crates/bbs_embed_linux.md b/_crates/bbs_embed_linux.md
new file mode 100644
index 00000000..e65c1996
--- /dev/null
+++ b/_crates/bbs_embed_linux.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "bbs_embed_linux"
+authors: ["Brent Seidel"]
+maintainers: ["Brent Seidel "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/BrentSeidel/BBS-BBB-Ada"]
+tags: ["embedded",
+"devices",
+"hardware"]
+version: "0.1.0"
+short_description: "Physical device drivers for Raspberry Pi and BeagleBone Black"
+dependencies: [{crate: "bbs", version: "~0.1.0"},
+{crate: "bbs_embed_common", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This contains device drivers for unix-type systems. The physical devices
+are defined for the Raspberry Pi and BeagleBone Black, but it should
+compile on any unix-type environment.
+
+
diff --git a/_crates/bbs_lisp.md b/_crates/bbs_lisp.md
new file mode 100644
index 00000000..c38b62de
--- /dev/null
+++ b/_crates/bbs_lisp.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "bbs_lisp"
+authors: ["Brent Seidel"]
+maintainers: ["Brent Seidel "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/BrentSeidel/Ada-Lisp"]
+tags: ["lisp",
+"embedded"]
+version: "0.1.1"
+short_description: "Embedable tiny lisp interpreter"
+dependencies: [{crate: "bbs", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This is the core of a simple tiny lisp that is intended to be embedded in
+other applications. It can be extended with new commands specific to
+the application.
+
+
diff --git a/_crates/bbs_simcpu.md b/_crates/bbs_simcpu.md
new file mode 100644
index 00000000..365b61cc
--- /dev/null
+++ b/_crates/bbs_simcpu.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "bbs_simcpu"
+authors: ["Brent Seidel"]
+maintainers: ["Brent Seidel "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/BrentSeidel/Sim-CPU"]
+tags: ["cpu-simulator"]
+version: "0.1.0"
+short_description: "CPU Simulator for multiple CPUs"
+dependencies: [{crate: "bbs", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/bbs_webif.md b/_crates/bbs_webif.md
new file mode 100644
index 00000000..e9ebbe41
--- /dev/null
+++ b/_crates/bbs_webif.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "bbs_webif"
+authors: ["Brent Seidel"]
+maintainers: ["Brent Seidel "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/BrentSeidel/Ada-Web-Server"]
+tags: ["http",
+"html",
+"embedded",
+"web"]
+version: "0.1.0"
+short_description: "Simple web server to provide an interface to embedded instruments"
+dependencies: [{crate: "bbs", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/bbt.md b/_crates/bbt.md
new file mode 100644
index 00000000..6f25d9bf
--- /dev/null
+++ b/_crates/bbt.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "bbt"
+authors: ["Lionel Draghi"]
+maintainers: ["Lionel Draghi "]
+licenses: ["MIT OR Apache-2.0 WITH LLVM-exception"]
+websites: [""]
+tags: ["gherkin",
+"test",
+"markdown",
+"tdd",
+"black-box"]
+version: "0.0.5"
+short_description: "Black box test runner"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/binary_trees.md b/_crates/binary_trees.md
new file mode 100644
index 00000000..6ca174f7
--- /dev/null
+++ b/_crates/binary_trees.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "binary_trees"
+authors: ["Jeff Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/Binary_Trees"]
+tags: ["binarytrees",
+"trees",
+"noaccess"]
+version: "20240519.0.0"
+short_description: " Ordered binary trees implemented without access types"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Binary_Trees
+Ordered binary trees implemented without access types
+
+Demonstration of a technique to be presented at the Ada Developers Workshop of the 2024 Ada-Europe conference
+
+
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/bit_sets.md b/_crates/bit_sets.md
new file mode 100644
index 00000000..476546a8
--- /dev/null
+++ b/_crates/bit_sets.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "bit_sets"
+authors: ["Michael Hardeman"]
+maintainers: ["Michael Hardeman "]
+licenses: ["GPL-2.0-or-later"]
+websites: ["https://github.com/michael-hardeman/bit_sets"]
+tags: ["bit",
+"set",
+"boolean",
+"array",
+"packed",
+"performance"]
+version: "1.0.0"
+short_description: "A packed boolean array that saves space and is performant"
+dependencies: []
+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/blinkenlights.md b/_crates/blinkenlights.md
new file mode 100644
index 00000000..96eb708c
--- /dev/null
+++ b/_crates/blinkenlights.md
@@ -0,0 +1,51 @@
+---
+layout: crate
+crate: "blinkenlights"
+authors: ["Brent Seidel"]
+maintainers: ["Brent Seidel "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/BrentSeidel/Pi-Mainframe"]
+tags: ["embedded",
+"simulation",
+"i8080",
+"m68000",
+"hardware"]
+version: "0.1.0"
+short_description: "Project to blink LEDs in interesting patterns"
+dependencies: [{crate: "bbs", version: "~0.1.0"},
+{crate: "bbs_embed_common", version: "~0.1.0"},
+{crate: "bbs_embed_linux", version: "~0.1.0"},
+{crate: "bbs_webif", version: "~0.1.0"},
+{crate: "bbs_simcpu", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This is a complex project involving 3D printing and soldering as well as
+software. Alr will take care of the software dependencies for you, but
+you will have to read the README and documentation to find the other parts.
+
+This project is intended to replicate the look and feel of older computers
+with the switches and lights. It uses the simulators from bbs_simcpu to
+drive the LEDs and act on the switches. Using the Intel 8080 simulator,
+I was actually able to toggle a bootstrap program in using the panel and
+get it to boot CP/M. If you use the Motorola 68000 simulator, it will
+load and run a simple multitasking OS. The example simulator can be used
+to flash the lights in a variaty of ways.
+
+There is a lamp test program in the lamp-test directory that may be useful
+for debugging the hardware.
+
+Note that since each cycle of the simulator involves multiple I2C bus
+transactions to read switches and set LEDs, any CPU simulation will run
+rather slowly. The intention of this project is more for display than
+simulator usage.
+
+There is also a web server that can be used to select the CPU variant.
+This is most useful with the example simulator to select the light pattern.
+
+This project run on a Raspberry Pi. It will build on most Unix or Unix-like
+systems, but unless the hardware interface matches the Raspberry Pi, it
+won't run. You are welcome to try porting it to other systems, if you like.
+
+
diff --git a/_crates/bme280.md b/_crates/bme280.md
new file mode 100644
index 00000000..3500d85a
--- /dev/null
+++ b/_crates/bme280.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "bme280"
+authors: ["Max Reznik"]
+maintainers: ["Max Reznik "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/reznikmm/bme280"]
+tags: ["sensor",
+"humidity",
+"temperature",
+"pressure",
+"driver"]
+version: "1.0.0"
+short_description: "Driver for BME280 Humidity sensor"
+dependencies: [{crate: "gnat", version: ">=11 & <2000"},
+{crate: "hal", version: "~0.3.0"}]
+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/checksum.md b/_crates/checksum.md
new file mode 100644
index 00000000..04b39557
--- /dev/null
+++ b/_crates/checksum.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "checksum"
+authors: ["Miko Elbrecht"]
+maintainers: ["Miko Elbrecht "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/ATPStorages/checksum.git"]
+tags: ["crc",
+"crc32",
+"adler32",
+"redundancy",
+"error",
+"checking",
+"error-checking"]
+version: "0.1.0"
+short_description: "Algorithms for error-checking"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/cheddar.md b/_crates/cheddar.md
new file mode 100644
index 00000000..b5d49d9f
--- /dev/null
+++ b/_crates/cheddar.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "cheddar"
+authors: ["Lab-STICC"]
+maintainers: ["Maxim Reznik "]
+licenses: ["GPL-3.0-only"]
+websites: ["http://beru.univ-brest.fr/cheddar"]
+tags: ["realtime",
+"model",
+"simulator",
+"analyzer"]
+version: "3.3.0"
+short_description: "Cheddar is a real time scheduling analysis tool."
+dependencies: [{crate: "gtkada", version: "*"},
+{crate: "ocarina_lib", version: "=1.1.0-20070603"},
+{crate: "xmlada", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+To run cheddar you should set CHEDDAR_INSTALL_PATH or change
+current working directory to the crate root.
+
+
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/chipmunk2d.md b/_crates/chipmunk2d.md
new file mode 100644
index 00000000..1f2b22bc
--- /dev/null
+++ b/_crates/chipmunk2d.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "chipmunk2d"
+authors: ["Fabien Chouteau"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT"]
+websites: [""]
+tags: ["gamedev",
+"binding"]
+version: "0.1.0"
+short_description: "Ada bindings for Chipmunk2D"
+dependencies: [{crate: "libchipmunk", version: "^7.0.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/clic.md b/_crates/clic.md
new file mode 100644
index 00000000..d11c0fcd
--- /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.3.0"
+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/controlled_io.md b/_crates/controlled_io.md
new file mode 100644
index 00000000..1ec6e309
--- /dev/null
+++ b/_crates/controlled_io.md
@@ -0,0 +1,32 @@
+---
+layout: crate
+crate: "controlled_io"
+authors: ["Jeffrey Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/Controlled_IO"]
+tags: ["io",
+"files",
+"controlled",
+"scope",
+"binary",
+"text"]
+version: "20240401.0.1"
+short_description: "Files that are open while they exist and closed when they don't "
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Controlled_IO
+Files that are open while they exist and closed when they don't
+
+This is a draft response to a request for a library for [Scope-based files](https://forum.ada-lang.io/t/ada-library-wishlist/14/5). Both binary and text I/O is supported. Please comment on whether or not you find this useful.
+
+The library is completely portable. It has been compiled and tested with GNAT and ObjectAda, on Linux and Windows.
+
+Controlled_Test and Controlled_Text are test programs. Both are user-unfriendly file-copy programs. Controlled_Test performs a binary copy; the output should always be identical to the input. Controlled_Text performs a line-by-line copy of text files; the output may have different line terminators than the input.
+
+Controlled_UTF is a user-unfriendly program to convert a native text file to a [Universal Text File](https://github.com/jrcarter/Universal-Text-File).
+
+
diff --git a/_crates/cortex_m.md b/_crates/cortex_m.md
new file mode 100644
index 00000000..2bc5b099
--- /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: "1.0.0"
+short_description: "Drivers for Cortex-M micro-controllers (NVIC, SysTick, etc.)"
+dependencies: [{crate: "gnat_arm_elf", version: ">=12"},
+{crate: "hal", version: "^1.0.0"}]
+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/crc_32.md b/_crates/crc_32.md
new file mode 100644
index 00000000..33c4d0a6
--- /dev/null
+++ b/_crates/crc_32.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "crc_32"
+authors: ["Jeff Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/CRC-32"]
+tags: ["crc",
+"iso3309",
+"data",
+"redundancy",
+"verification"]
+version: "20240725.0.0"
+short_description: "Cyclic Redundancy Check to verify data integrity (ISO 3309)"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# CRC-32
+Cyclic Redundancy Check to verify data integrity (ISO 3309)
+
+Derived, with extensive modifications, from Zip.CRC_Crypto by Gautier de Montmollin.
+
+
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..e8ea4220
--- /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.15.1"
+short_description: "DASHER Terminal Emulator"
+dependencies: [{crate: "gtkada", version: "^23.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/db_maker.md b/_crates/db_maker.md
new file mode 100644
index 00000000..09075423
--- /dev/null
+++ b/_crates/db_maker.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "db_maker"
+authors: ["Jeff Carter "]
+maintainers: ["Bent Bracke "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/bracke/DB_Maker"]
+tags: ["database",
+"table"]
+version: "20240119.0.0"
+short_description: "A generic for creating simple DBs (one table in an RDBMS)"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"},
+{crate: "pragmarc", version: "^20240323.0.0"},
+{crate: "ada_gui", version: "^20240224.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# DB_Maker
+A generic for creating simple DBs (one table in an RDBMS) with PragmARC.Persistent_Skip_List_Unbounded and Ada GUI.
+
+Searching does not use the O(log N) search of the underlying skip list, but instead does a linear search for fields that have the corresponding search text as a substring (case insensitive). This is much slower, but is still quite fast. If you have less than 100,000 records it should be fast enough. "Search" starts from the 1st record; "Search More" from the record after the last search. "Clear" clears the edit fields to make entering a new search easier.
+
+Because searching is case insensitive and matches substrings, searching for "son" would match "Orson Welles", "Fowler De Johnsone", and "Son House".
+
+Only about 7 fields will fit vertically in the typical browser window. This could perhaps be increased by making the font smaller. A vertical scroll bar will appear if needed.
+
+Movies is a small demo program that could be used to catalogue a collection of films. DB_Strings is a non-limited replacement for PragmARC.B_Strings, since type B_String is limited in the Ada-12 version of the PragmARCs.
+
+
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..1765eaf8
--- /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.5"
+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/dirty_booleans.md b/_crates/dirty_booleans.md
new file mode 100644
index 00000000..bf57cbe7
--- /dev/null
+++ b/_crates/dirty_booleans.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "dirty_booleans"
+authors: ["Alejandro R. Mosteo"]
+maintainers: ["Alejandro R. Mosteo "]
+licenses: ["MIT OR Apache-2.0 WITH LLVM-exception"]
+websites: [""]
+tags: ["boolean",
+"dirty",
+"comparison"]
+version: "0.1.0"
+short_description: "Comparisons with 0/1, T/F, Y/N, Yes/No, etc."
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
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/easy_graphics.md b/_crates/easy_graphics.md
new file mode 100644
index 00000000..fcefdc5e
--- /dev/null
+++ b/_crates/easy_graphics.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "easy_graphics"
+authors: ["Stephen Merrony"]
+maintainers: ["Stephen Merrony "]
+licenses: ["MIT OR Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/SMerrony/easy_graphic"]
+tags: ["graphics",
+"image",
+"ppm",
+"pam",
+"gif",
+"turtle"]
+version: "0.1.0"
+short_description: "Very Simple Graphics Package"
+dependencies: [{crate: "gnat", version: ">=13.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Overview
+
+Easy_Graphics is a simple library for generating graphical output from your Ada program.
+
+Typical use cases might be educational projects, prototyping, programming challenges,
+or simply when you want to visualise something quickly in a larger system.
+
+
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..b48d4bf5
--- /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.7"
+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/elogs.md b/_crates/elogs.md
new file mode 100644
index 00000000..dfa4180d
--- /dev/null
+++ b/_crates/elogs.md
@@ -0,0 +1,24 @@
+---
+layout: crate
+crate: "elogs"
+authors: ["Kevin Chadwick"]
+maintainers: ["Kevin Chadwick "]
+licenses: ["ISC OR BSD-2-Clause"]
+websites: ["https://github.com/kevlar700/elogs"]
+tags: ["spark",
+"embedded",
+"zfp",
+"logging",
+"log"]
+version: "1.2.0"
+short_description: "Embedded logging, proven absent of runtime errors"
+dependencies: [{crate: "gnat", version: "(>=13 & <2000) | ^11 | >=2020"}]
+configuration_variables: [{name: 'Device_ID_Length', type: 'Integer range -9223372036854775808 .. 9223372036854775807', default: "12"},
+{name: 'Max_Log_Count', type: 'Integer range -9223372036854775808 .. 9223372036854775807', default: "50"},
+{name: 'Max_Message_Length', type: 'Integer range -9223372036854775808 .. 9223372036854775807', default: "200"},
+{name: 'Version_Length', type: 'Integer range -9223372036854775808 .. 9223372036854775807', default: "8"}]
+configuration_values: []
+
+---
+
+
diff --git a/_crates/emacs_ada_mode.md b/_crates/emacs_ada_mode.md
new file mode 100644
index 00000000..29a6f1da
--- /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.1.0"
+short_description: "Parser for Emacs ada-mode"
+dependencies: [{crate: "emacs_wisi", version: "~4.3.0"},
+{crate: "gnat", version: "(>=11 & <2000) | >=2021"},
+{crate: "re2c", version: ">=2.0.3"},
+{crate: "stephes_ada_library", version: "~3.7.3"},
+{crate: "wisitoken", version: "~4.2.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..dad23b5d
--- /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.5"
+short_description: "parser for Emacs gpr mode"
+dependencies: [{crate: "emacs_wisi", version: "~4.3.2"},
+{crate: "gnat", version: "(>=11 & <2000) | >=2021"},
+{crate: "re2c", version: ">=2.0.3"},
+{crate: "stephes_ada_library", version: "~3.7.3"},
+{crate: "wisitoken", version: "~4.2.1"}]
+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..03c309b8
--- /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.2"
+short_description: "Emacs xref backend using information output by GNAT compiler."
+dependencies: [{crate: "gnat", version: "(>=11 & <2000) | >=2021"},
+{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..bb9fb9b7
--- /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.3.2"
+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.2.1"}]
+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..4cd31beb
--- /dev/null
+++ b/_crates/embedded_components.md
@@ -0,0 +1,30 @@
+---
+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.3.0"
+short_description: "Platform agnostic drivers to interface external components"
+dependencies: [{crate: "adl_middleware", version: "~0.2.0"},
+{crate: "gnat", version: ">=11.2 & <2000"},
+{crate: "hal", version: "~0.3.1"}]
+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/emdee.md b/_crates/emdee.md
new file mode 100644
index 00000000..38d493fb
--- /dev/null
+++ b/_crates/emdee.md
@@ -0,0 +1,38 @@
+---
+layout: crate
+crate: "emdee"
+authors: ["Stephen Merrony"]
+maintainers: ["Stephen Merrony "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/SMerrony/emdee"]
+tags: ["performance",
+"theatre",
+"midi",
+"mp3",
+"soundtrack",
+"player",
+"wav",
+"flac",
+"ogg",
+"music",
+"ffplay",
+"aplaymidi",
+"playsmf"]
+version: "0.2.1"
+short_description: "Performance assistant for Musical Directors"
+dependencies: [{crate: "gnat", version: "^13.0"},
+{crate: "gtkada", version: "^24.0.0"},
+{crate: "ada_toml", version: "~0.4.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Overview
+
+`eMDee` is a live performance and rehearsal assistant for musical directors which removes the need to have folders of tracks and command-line windows open in order to play backing tracks for performance groups such as singers, choirs, and theatre-groups.
+
+The MD can plan in advance the order of performance; later, `eMDee` will facilitate the playing of each track in the specfied order during the performance.
+
+Additional controls may be added to specific tracks such as changing the volume level.
+
+
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/encryption_utilities.md b/_crates/encryption_utilities.md
new file mode 100644
index 00000000..1cf65118
--- /dev/null
+++ b/_crates/encryption_utilities.md
@@ -0,0 +1,36 @@
+---
+layout: crate
+crate: "encryption_utilities"
+authors: ["Jeff Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/bracke/Encryption-utilities"]
+tags: ["threefish256",
+"threefish512",
+"threefish1024",
+"xor"]
+version: "20220701.0.0"
+short_description: "Utility programs for the encryption algorithms included in the PragmARC"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"},
+{crate: "pragmarc", version: "^20240323.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Encryption utilities
+
+The PragmAda Reusable Components (https://github.com/jrcarter/PragmARC) contain implementations of the Threefish-256 (implemented directly from the specification in Section 3.3 of the Skein paper V1.3 [https://www.schneier.com/skein.pdf]), Threefish-512, Threefish-1024, and XOR encryption algorithms. Threefish-512 and Threefish-1024 are provided by Daniel Norte de Moraes (https://github.com/danieagle).
+
+Test cases specifically for Threefish are at https://sites.google.com/site/bartoszmalkowski/threefish and https://github.com/bmalkow/java-bc-threefish.
+
+Tf_Test runs the test cases for Threefish-256 successfully (on a little-endian machine). It also encrypts certain blocks and presents the encrypted blocks, and shows that they decrypt correctly. Tf_Test uses PragmARC.Images from https://github.com/jrcarter/PragmARC. Tf_Test_512 and Tf_Test_1024, provided by Daniel Norte de Moraes (https://github.com/danieagle), do the same for Threefish-512 and Threefish-1024.
+
+TF_Crypt is a command-line program for encrypting and decrypting files with Threefish-256. TF_Crypt uses Password_Line. Files encrypted with TF_Crypt built with GNAT and running on Linux are correctly decrypted by TF_Crypt build with ObjectAda and running on Windows, and vice versa.
+
+Xcrypt is a command-line program for encrypting and decrypting files with XOR. It uses Password_Line. Since XOR is symmetrical, the same algorithm is used for encrypting and decrypting. One can encrypt twice with multiple keys, and decrypt with the keys in any order. This gives results equivalent to encrypting with a key length of the least common multiple of the lengths of the keys.
+
+Password_Line is a function for obtaining secret input from a user without echoing it to the screen. It has been tested and works with GNAT on Linux and Windows and ObjectAda 10.3 on Windows.
+
+Tf_Test*, TF_Crypt, and Xcrypt are GPL-3; Password_Line is GMGPL.
+
+
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/enet.md b/_crates/enet.md
new file mode 100644
index 00000000..edb4ff34
--- /dev/null
+++ b/_crates/enet.md
@@ -0,0 +1,26 @@
+---
+layout: crate
+crate: "enet"
+authors: ["Stephane Carrez"]
+maintainers: ["Stephane Carrez ",
+"Max Reznik "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/stcarrez/ada-enet"]
+tags: ["network",
+"ip",
+"ipv4",
+"icmp",
+"udp",
+"arp",
+"dns",
+"dhcp",
+"ntp"]
+version: "1.0.0"
+short_description: "Ada Embedded Network Stack"
+dependencies: []
+configuration_variables: [{name: 'Default_Random', type: 'Enum (discrete, null)', default: "discrete"}]
+configuration_values: []
+
+---
+
+
diff --git a/_crates/enet_stm32.md b/_crates/enet_stm32.md
new file mode 100644
index 00000000..0d92f201
--- /dev/null
+++ b/_crates/enet_stm32.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "enet_stm32"
+authors: ["Stephane Carrez"]
+maintainers: ["Stephane Carrez ",
+"Max Reznik "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/stcarrez/ada-enet"]
+tags: ["stm32",
+"enet",
+"driver",
+"network"]
+version: "1.0.0"
+short_description: "ENet driver for STM32"
+dependencies: [{crate: "cortex_m", version: "~0.5"},
+{crate: "enet", version: "^1.0.0"},
+{crate: "ethernet", version: "^1.0.0"}]
+configuration_variables: [{name: 'Extra_Buffers', type: 'Integer range 0 .. 1024', default: "8"},
+{name: 'RX_Ring_Size', type: 'Integer range 0 .. 1024', default: "8"},
+{name: 'TX_Ring_Size', type: 'Integer range 0 .. 1024', default: "8"}]
+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/ethernet.md b/_crates/ethernet.md
new file mode 100644
index 00000000..edea1666
--- /dev/null
+++ b/_crates/ethernet.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "ethernet"
+authors: ["Max Reznik"]
+maintainers: ["Max Reznik "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/reznikmm/ethernet"]
+tags: ["network",
+"mdio",
+"smi",
+"miim",
+"phy",
+"driver"]
+version: "1.0.0"
+short_description: "Root crate for ethernet namespace and MDIO/SMI/MIIM interface"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/euler_tools.md b/_crates/euler_tools.md
new file mode 100644
index 00000000..20633dd9
--- /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.3.0"
+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..9670e018
--- /dev/null
+++ b/_crates/excel_writer.md
@@ -0,0 +1,59 @@
+---
+layout: crate
+crate: "excel_writer"
+authors: ["Gautier de Montmollin"]
+maintainers: ["gdemont@hotmail.com"]
+licenses: ["MIT"]
+websites: ["https://excel-writer.sourceforge.io/"]
+tags: ["excel",
+"spreadsheet",
+"xls",
+"csv"]
+version: "19.0.0"
+short_description: "Produce Excel spreadsheets"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+![Excel Writer logo](https://excel-writer.sourceforge.io/ew_logo_no_shadow.png)
+
+Excel_Out is a standalone, portable Ada package for writing Excel spreadsheets with basic formattings and formulas, easily and programmatically.
+
+* Enables the automatic production of reports
+* Fast: 50 sheets per second, with 10,000 data cells each on a slow 1.66 GHz computer
+* No interaction needed with Excel or MS Office
+* Unconditionally portable (*)
+* Endian-neutral
+* Object oriented
+* Task safe
+* Pure Ada 95 (nothing compiler/system specific), can be used in projects in Ada 95, Ada 2005, Ada 2012 and later versions of the language
+* Floating-point hardware neutral: no IEEE hardware required
+* Tests and demos included
+* Includes a CSV parser with related tools.
+* Free, open-source
+
+The creation of an Excel file is as simple as this small procedure:
+
+```ada
+with Excel_Out;
+
+procedure Small_Demo is
+ xl : Excel_Out.Excel_Out_File;
+begin
+ xl.Create ("small.xls");
+ xl.Put_Line ("This is a small demo for Excel_Out");
+ for row in 3 .. 8 loop
+ for column in 1 .. 8 loop
+ xl.Write (row, column, row * 1000 + column);
+ end loop;
+ end loop;
+ xl.Close;
+end Small_Demo;
+```
+
+___
+
+(*) within limits of compiler's provided integer types and target architecture capacity.
+
+
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..c8595a95
--- /dev/null
+++ b/_crates/florist.md
@@ -0,0 +1 @@
+Not found: florist*
diff --git a/_crates/florist_blady.md b/_crates/florist_blady.md
new file mode 100644
index 00000000..25192ad0
--- /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.1.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/getada.md b/_crates/getada.md
new file mode 100644
index 00000000..2993f272
--- /dev/null
+++ b/_crates/getada.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "getada"
+authors: ["A.J. Ianozi"]
+maintainers: ["A.J. Ianozi "]
+licenses: ["GPL-3.0-only"]
+websites: ["https://www.getada.dev/"]
+tags: ["ada",
+"alire",
+"tool",
+"utility"]
+version: "1.0.1"
+short_description: "The unofficial mac and linux installer for Alire."
+dependencies: [{crate: "gnat", version: ">=12 & <2000"},
+{crate: "gnatcoll", version: "^24.0.0"},
+{crate: "zipada", version: "^58.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
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/gfx_core.md b/_crates/gfx_core.md
new file mode 100644
index 00000000..a7225158
--- /dev/null
+++ b/_crates/gfx_core.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gfx_core"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["graphics"]
+version: "0.1.0"
+short_description: "Modular Portable Graphics Library, Core Components"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gfx_rasteriser.md b/_crates/gfx_rasteriser.md
new file mode 100644
index 00000000..c9122029
--- /dev/null
+++ b/_crates/gfx_rasteriser.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gfx_rasteriser"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["graphics"]
+version: "0.1.0"
+short_description: "Modular Portable Graphics Library, Primitive's Rasteriser"
+dependencies: [{crate: "gfx_core", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gid.md b/_crates/gid.md
new file mode 100644
index 00000000..17a18f13
--- /dev/null
+++ b/_crates/gid.md
@@ -0,0 +1,68 @@
+---
+layout: crate
+crate: "gid"
+authors: ["Gautier de Montmollin"]
+maintainers: ["gdemont@hotmail.com"]
+licenses: ["MIT"]
+websites: ["https://gen-img-dec.sourceforge.io/"]
+tags: ["image",
+"animated",
+"animation",
+"bitmap",
+"color",
+"decoder",
+"decoding",
+"decompress",
+"digitization",
+"lossless",
+"lossy",
+"rbg",
+"steganography",
+"transparency",
+"transparent",
+"bmp",
+"gif",
+"jpeg",
+"jpg",
+"pbm",
+"pgm",
+"png",
+"pnm",
+"ppm",
+"qoi",
+"tga",
+"targa"]
+version: "13.0.1"
+short_description: "Generic Image Decoder - decode a broad variety of image formats"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
+The Generic Image Decoder (GID) is a low-level Ada package for decoding a broad variety of image formats,
+from any data stream, to any kind of medium, be it an in-memory bitmap, a GUI object, some other stream,
+floating-point data for scientific calculations, a browser element, a device, ...
+
+Currently supported formats are: BMP, GIF, JPEG, PNG, PNM (PBM, PGM, PPM), QOI, TGA
+
+Animations (GIF, PNG) are supported.
+
+Some features:
+
+* *Fast*! Up to 2.8 times faster than ImageMagick.
+* 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 2012: this package can be used in projects in Ada 2012 and later versions of the Ada language
+* Tests, demos and tools included.
+* *Free*, open-source
+
+______
+
+(*) within limits of compiler's provided integer types and target architecture capacity.
+
+
diff --git a/_crates/globe_3d.md b/_crates/globe_3d.md
new file mode 100644
index 00000000..fcc026ed
--- /dev/null
+++ b/_crates/globe_3d.md
@@ -0,0 +1,42 @@
+---
+layout: crate
+crate: "globe_3d"
+authors: ["Gautier de Montmollin"]
+maintainers: ["gdemont@hotmail.com"]
+licenses: ["MIT"]
+websites: ["https://globe3d.sourceforge.io/"]
+tags: ["gl",
+"opengl",
+"rendering",
+"graphics",
+"3d-rendering",
+"3d-graphics",
+"space-partition",
+"collision",
+"portal"]
+version: "2023.11.12"
+short_description: "GLOBE_3D: GL Object Based Engine for 3D"
+dependencies: [{crate: "gid", version: ">=9.0.0"},
+{crate: "zipada", version: "^58.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+GLOBE_3D is a free, open-source, real-time 3D Engine written in Ada, based on OpenGL.
+
+![GLOBE_3D Screenshot](https://a.fsdn.com/con/app/proj/globe3d/screenshots/pure_evil_mini.jpg "Screenshot GLOBE_3D")
+
+* Real-time rendering
+* Full eye movements and rotations ("6D")
+* Displays combinations of colours, materials, textures
+* Multitexturing
+* Transparency
+* Portal rendering
+* Binary space partition (BSP)
+* Collision detection
+* Screenshots (.bmp) and video captures (.avi)
+* Input-output of 3D objects
+* Import from 3D Studio Max, id Software Radiant, VRML, Wavefront formats
+* Tests, tools and demos included
+
+
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..e0f5001c
--- /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: "14.2.1"
+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..a7c3b7ac
--- /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: "14.2.1"
+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..7340134b
--- /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: "14.2.1"
+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..663f9e16
--- /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: "14.2.1"
+short_description: "The GNAT Ada compiler - RISC-V cross-compiler"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnat_xtensa_esp32_elf.md b/_crates/gnat_xtensa_esp32_elf.md
new file mode 100644
index 00000000..fe6c11b6
--- /dev/null
+++ b/_crates/gnat_xtensa_esp32_elf.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gnat_xtensa_esp32_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: "14.2.1"
+short_description: "The GNAT Ada compiler - ESP32 cross-compiler"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll.md b/_crates/gnatcoll.md
new file mode 100644
index 00000000..8697f405
--- /dev/null
+++ b/_crates/gnatcoll.md
@@ -0,0 +1,24 @@
+---
+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: "25.0.0"
+short_description: "GNAT Components Collection - Core packages"
+dependencies: [{crate: "gnat", version: ">=13"},
+{crate: "libgpr", version: "~25.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_gmp.md b/_crates/gnatcoll_gmp.md
new file mode 100644
index 00000000..a5cc1ab6
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - GNU Multiple Precision Arithmetic binding"
+dependencies: [{crate: "gnatcoll", version: "~25.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..5be0329c
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - iconv binding"
+dependencies: [{crate: "gnatcoll", version: "~25.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_lzma.md b/_crates/gnatcoll_lzma.md
new file mode 100644
index 00000000..620d4100
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - lzma binding"
+dependencies: [{crate: "gnatcoll", version: "~25.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..dbe4a431
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - OpenMP binding"
+dependencies: [{crate: "gnatcoll", version: "~25.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..89b72d8d
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - postgres"
+dependencies: [{crate: "gnatcoll", version: "~25.0.0"},
+{crate: "gnatcoll_sql", version: "~25.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..d972e4c5
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - readline binding"
+dependencies: [{crate: "gnatcoll", version: "~25.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..8c5c2ae4
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - sql"
+dependencies: [{crate: "gnatcoll", version: "~25.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_sqlite.md b/_crates/gnatcoll_sqlite.md
new file mode 100644
index 00000000..8ec6d1a9
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - sqlite"
+dependencies: [{crate: "gnatcoll", version: "~25.0.0"},
+{crate: "gnatcoll_sql", version: "~25.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_syslog.md b/_crates/gnatcoll_syslog.md
new file mode 100644
index 00000000..86eca9f5
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - syslog binding"
+dependencies: [{crate: "gnatcoll", version: "~25.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_xref.md b/_crates/gnatcoll_xref.md
new file mode 100644
index 00000000..45227190
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - xref"
+dependencies: [{crate: "gnatcoll", version: "~25.0.0"},
+{crate: "gnatcoll_iconv", version: "~25.0.0"},
+{crate: "gnatcoll_sql", version: "~25.0.0"},
+{crate: "gnatcoll_sqlite", version: "~25.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatcoll_zlib.md b/_crates/gnatcoll_zlib.md
new file mode 100644
index 00000000..65c0ed47
--- /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: "25.0.0"
+short_description: "GNAT Components Collection - zlib binding"
+dependencies: [{crate: "gnatcoll", version: "~25.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..bdfcc1d5
--- /dev/null
+++ b/_crates/gnatdoc.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "gnatdoc"
+authors: ["AdaCore"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/AdaCore/gnatdoc"]
+tags: ["documentation",
+"tools"]
+version: "25.0.0"
+short_description: "GNAT Documentation Generation Tool"
+dependencies: [{crate: "libadalang", version: "^25"},
+{crate: "libgpr2", version: "^25"},
+{crate: "markdown", version: "^25"},
+{crate: "vss", version: "^25"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatformat.md b/_crates/gnatformat.md
new file mode 100644
index 00000000..4caf1bd2
--- /dev/null
+++ b/_crates/gnatformat.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "gnatformat"
+authors: ["AdaCore"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT OR Apache-2.0 WITH LLVM-exception"]
+websites: [""]
+tags: ["formatting",
+"ada",
+"tool"]
+version: "25.0.0"
+short_description: "Opinionated code formatter for the Ada language"
+dependencies: [{crate: "adasat", version: "^25"},
+{crate: "gnatcoll", version: "^25"},
+{crate: "libadalang", version: "^25"},
+{crate: "prettier_ada", version: "^25"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gnatprove.md b/_crates/gnatprove.md
new file mode 100644
index 00000000..8d0cf769
--- /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: "14.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..a47cdefd
--- /dev/null
+++ b/_crates/gprbuild.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "gprbuild"
+authors: []
+maintainers: ["chouteau@adacore.com"]
+licenses: []
+websites: []
+tags: []
+version: "24.0.1"
+short_description: "The GPRBuild Ada/multilanguage build tool"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gsl.md b/_crates/gsl.md
new file mode 100644
index 00000000..5f03fa4d
--- /dev/null
+++ b/_crates/gsl.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "gsl"
+authors: ["R Srinivasan"]
+maintainers: ["R Srinivasan "]
+licenses: []
+websites: []
+tags: []
+version: "0.1.0"
+short_description: "Ada binding to Gnu Scientific Library 2.7"
+dependencies: [{crate: "gnat", version: ">=12"},
+{crate: "libgsl", version: "^2.7"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/gtkada.md b/_crates/gtkada.md
new file mode 100644
index 00000000..cafc90ad
--- /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: "25.0.1"
+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..f43aa799
--- /dev/null
+++ b/_crates/gwindows.md
@@ -0,0 +1,40 @@
+---
+layout: crate
+crate: "gwindows"
+authors: ["David Botton",
+"Gautier de Montmollin"]
+maintainers: ["Felix Patschkowski ",
+"gdemont@hotmail.com"]
+licenses: ["LGPL-2.0-or-later"]
+websites: ["https://sourceforge.net/projects/gnavi/"]
+tags: ["gui",
+"rad",
+"windows"]
+version: "1.4.3"
+short_description: "GWindows - Ada Framework for Windows Development"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
+
+
+**GWindows** is a full Microsoft Windows Rapid Application Development
+framework for programming GUIs (Graphical User Interfaces) with Ada.
+
+Key features of GWindows:
+
+ * Complete Windows framework
+ * Pure Ada code, standalone
+ * Object-Oriented
+ * Code generator (GWenerator)
+ * License: GMGPL
+ * Builds to 32 bit and to 64 bit native Windows applications
+ * Works on both ANSI and Unicode character modes
+ * Includes GNATCOM, an ActiveX/COM framework
+ * Tests, demos, samples and tutorials included
+ * **Free**, Open-Source
+
+
diff --git a/_crates/hac.md b/_crates/hac.md
new file mode 100644
index 00000000..3e8e5d53
--- /dev/null
+++ b/_crates/hac.md
@@ -0,0 +1,37 @@
+---
+layout: crate
+crate: "hac"
+authors: ["Gautier de Montmollin"]
+maintainers: ["gdemont@hotmail.com"]
+licenses: ["MIT"]
+websites: ["https://hacadacompiler.sourceforge.io/"]
+tags: ["hac",
+"compiler",
+"virtual-machine",
+"native",
+"semantic",
+"parser",
+"advent-of-code"]
+version: "0.40.0"
+short_description: "HAC Ada Compiler: a small, quick Ada compiler covering a subset of Ada"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
+HAC (HAC Ada Compiler) is a small, quickly compiling, open-source Ada compiler, covering a subset of the Ada language.
+HAC is perhaps the first open-source (albeit partial) Ada compiler fully programmed in Ada itself.
+
+Features:
+
+* **Quick**: short programming-compilation-run-test cycles.
+* Perfect for scripting jobs.
+* Compiles Ada sources from any stream - file, internet, editor data, Zip archive, ...
+* Compilation leaves zero compilation temp file - all is done in memory!
+* Portable, fully programmed in Ada.
+* Can be embedded into another software - see the [**LEA**](https://l-e-a.sourceforge.io/) editor - and even exchange data with it - see the `demo/data_exchange/exchange_native_side.adb` demo.
+* **Free**, open-source.
+
+
diff --git a/_crates/hal.md b/_crates/hal.md
new file mode 100644
index 00000000..2ade0062
--- /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: "1.0.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/hex_format.md b/_crates/hex_format.md
new file mode 100644
index 00000000..d0a721bb
--- /dev/null
+++ b/_crates/hex_format.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "hex_format"
+authors: ["Jeremy Grosser"]
+maintainers: ["Jeremy Grosser "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/JeremyGrosser/hex_format"]
+tags: ["hex",
+"pure",
+"embedded",
+"string",
+"text",
+"format"]
+version: "0.1.0"
+short_description: "Hexadecimal string formatting for modular types"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/hirtos.md b/_crates/hirtos.md
new file mode 100644
index 00000000..bec70495
--- /dev/null
+++ b/_crates/hirtos.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "hirtos"
+authors: ["J. German Rivera"]
+maintainers: ["J. German Rivera "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/jgrivera67/HiRTOS"]
+tags: ["rtos"]
+version: "2.0.0"
+short_description: "High-Integrity RTOS"
+dependencies: []
+configuration_variables: [{name: 'Platform', type: 'Enum (arm_fvp, esp32_c3)', default: "arm_fvp"}]
+configuration_values: []
+
+---
+
+
diff --git a/_crates/hirtos_separation_kernel.md b/_crates/hirtos_separation_kernel.md
new file mode 100644
index 00000000..d33ff1a7
--- /dev/null
+++ b/_crates/hirtos_separation_kernel.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "hirtos_separation_kernel"
+authors: ["J. German Rivera"]
+maintainers: ["J. German Rivera "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/jgrivera67/HiRTOS"]
+tags: ["hypervisor"]
+version: "2.0.0"
+short_description: "High-Integrity RTOS Separation Kernel"
+dependencies: []
+configuration_variables: [{name: 'Platform', type: 'Enum (arm_fvp)', default: "arm_fvp"},
+{name: 'Separation_Kernel_Debug_Tracing_On', type: 'Boolean', default: "false"}]
+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/hmc5883.md b/_crates/hmc5883.md
new file mode 100644
index 00000000..bb83ae14
--- /dev/null
+++ b/_crates/hmc5883.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "hmc5883"
+authors: ["Max Reznik"]
+maintainers: ["Max Reznik "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/reznikmm/hmc5883"]
+tags: ["sensor",
+"magnetometer",
+"driver"]
+version: "1.0.0"
+short_description: "Driver for HMC5883L magnetic sensor"
+dependencies: [{crate: "gnat", version: ">=11 & <2000"},
+{crate: "hal", version: "~0.3.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..d7beadd6
--- /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.5305"
+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.4, 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.4, 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/hp41cx_tools.md b/_crates/hp41cx_tools.md
new file mode 100644
index 00000000..62f59f3e
--- /dev/null
+++ b/_crates/hp41cx_tools.md
@@ -0,0 +1,32 @@
+---
+layout: crate
+crate: "hp41cx_tools"
+authors: ["Martin Krischik "]
+maintainers: ["Martin Krischik "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://calculator-scripts.sourceforge.io/px-41cx"]
+tags: ["calculator",
+"tools",
+"retrocomputing",
+"ada-2022",
+"hp-41cx",
+"dm41x",
+"px41cx"]
+version: "1.6.2"
+short_description: "HP-41CX emulator Tools"
+dependencies: [{crate: "adacl", version: "5.16.1"},
+{crate: "gnat_native", version: "^14.2"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Tools for manipulating memory dumps from HP-41CX emulators.
+
+The following HP-41CX emulators are supported:
+
+* [PX-41CX](https://paxer.net/PX-41CX/) from Paxer.
+* [DM41X](https://www.swissmicros.com/product/dm41x) from SwissMicros.
+
+Currently hex dump files can be decoded to user readable UTF-8 encoded files.
+
+
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/image_io.md b/_crates/image_io.md
new file mode 100644
index 00000000..e64c1875
--- /dev/null
+++ b/_crates/image_io.md
@@ -0,0 +1,50 @@
+---
+layout: crate
+crate: "image_io"
+authors: ["Jeff Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/Image_IO"]
+tags: ["image",
+"io",
+"bmp",
+"ppm",
+"qoi",
+"gif",
+"jpg",
+"png",
+"pnm",
+"tga"]
+version: "20240725.0.0"
+short_description: "Output in BMP,PPM,QOI;input in BMP,GIF,JPG,PNG,PNM,QOI,TGA"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"},
+{crate: "pragmarc", version: "^20240323.0.0"},
+{crate: "gid", version: "^13.0.0"},
+{crate: "crc_32", version: "^20240725.0.0"},
+{crate: "z_compression", version: "^20240724.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Image_IO
+Output in BMP, PNG, PPM, and QOI formats; input in BMP, GIF, JPG, PNG, PNM, QOI, and TGA formats
+
+Package Image_IO.Operations provides the ability to input and output images.
+
+PNG is a lossless compressed format that is widely supported. Uncompressed BMP is a universal format that is very large. PPM is intended to be a set of portable formats, but lacks support by default on some platforms. QOI is a lossless compressed format, but not widely supported.
+
+Write_P3 uses [PragmARC.Text_IO](https://github.com/jrcarter/PragmARC/blob/Ada-12/pragmarc-text_io.ads) to obtain uniform line terminators across platforms. This can be easily changed to Ada.Text_IO if the line terminators are not a concern.
+
+Write_PNG uses [Z_Compression](https://github.com/jrcarter/Z_Compression) and [CRC-32](https://github.com/jrcarter/CRC-32).
+
+Read is a wrapper around [Generic Image Decoder (GID)](https://github.com/zertovitch/gid) for the most common use: reading an image from a file. GID may be used to decode images from other sources, but that generality makes it complex to use. Read ignores transparency (Alpha channel) and only reads the first frame of an animation.
+
+Pure_RGB is a demo program that reads an image using Read, modifies it to change all color components to the closest of 0 or 255, and outputs the result using Write_PNG. It is invoked with
+
+ pure_rgb
+
+The output name is the input name with ".png" appended. Pure_RGB does no error handling; if the input file name is omitted, doesn't exist, or is not a supported image format, the program will terminate with an unhandled exception.
+
+Image_IO and Pure_RGB have been compiled and tested with GNAT 12.3.0 on Linux and ObjectAda 10.5U7 on Windows.
+
+
diff --git a/_crates/image_random.md b/_crates/image_random.md
new file mode 100644
index 00000000..90bc246f
--- /dev/null
+++ b/_crates/image_random.md
@@ -0,0 +1,30 @@
+---
+layout: crate
+crate: "image_random"
+authors: ["Jeff Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/Image_Random"]
+tags: ["random",
+"numbers",
+"camera"]
+version: "20200720.0.0"
+short_description: "True random numbers from a digital camera "
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Image_Random
+True random numbers from a digital camera
+
+This works under Linux with the GNAT compiler; modification for other platforms or compilers is left as an exercise for the desperate
+
+Ideally, the camera should have its lens cap on, or have a similar dark covering, so the image is of the camera sensor noise
+
+However, another randomly changing scene, such as a lava lamp or aquarium, may also work
+
+This is slow and only produces 64 random bytes; if you need more, it is probably best to use these bytes to seed a high-quality
+pseudo-random number generator, such as the Threefry generator
+
+
diff --git a/_crates/ini_files.md b/_crates/ini_files.md
new file mode 100644
index 00000000..0ae192b7
--- /dev/null
+++ b/_crates/ini_files.md
@@ -0,0 +1,31 @@
+---
+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",
+"ini-file",
+"cfg",
+"cfg-file",
+"config",
+"configuration"]
+version: "11.0.0"
+short_description: "A standalone, portable Ada package for configuration files"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Config is an Ada package for parsing configuration files (.ini, .inf, .cfg, ...) and retrieving keys of various types. New values for single keys, or entire sections, can be set.
+
+* Standalone and unconditionally portable code.
+* Pure Ada 2005: nothing compiler- / system- specific.
+* Can be used in projects in Ada 2005, Ada 2012 and later versions of the Ada language.
+* Object oriented.
+* Tests and demos included.
+
+
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/intl.md b/_crates/intl.md
new file mode 100644
index 00000000..0cc7bc1d
--- /dev/null
+++ b/_crates/intl.md
@@ -0,0 +1,62 @@
+---
+layout: crate
+crate: "intl"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-intl"]
+tags: ["i18n",
+"nls",
+"bindings"]
+version: "1.0.1"
+short_description: "NLS thin Ada binding"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+This is a small Ada library that provides NLS support by using
+[gettext (3)](https://linux.die.net/man/3/gettext),
+[textdomain (3)](https://linux.die.net/man/3/textdomain) and
+[bindtextdomain (3)](https://linux.die.net/man/3/bindtextdomain).
+
+When NLS is not supported or disabled, the Ada library implements the
+NLS operations by using empty suitable stubs that skip the NLS transformation
+and emit the English default message.
+
+## Using the library
+
+The first step in using the NLS library is to call the `Initialize` procedure
+that handles the setup of `textdomain` and `bindtextdomain` to configure the
+language according to the user's locale. The program localized messages are
+stored in a catalog file that is created by `msginit (1)` and `msgfmt (1)` tools.
+In most cases catalog file are identified by a unique name that must be given
+to the `Initialize` procedure (below, it will be `mytool`).
+
+```
+with Intl;
+...
+ PROG_NAME : constant String := "mytool";
+ ...
+ Intl.Initialize (PROG_NAME, "/usr/share/locale");
+```
+
+To localize a message, the `"-"` function is provided to encapsulate the call
+to the [gettext (3)](https://linux.die.net/man/3/gettext) method. If the message
+is translated and the catalog contains it in the user's language, it will be
+converted by `gettext` and the `"-"` function returns the localized message.
+
+```
+with GNAT.IO;
+ ...
+ function "-" (Message : in String) return String is (Intl."-" (Message));
+ ...
+ GNAT.IO.Put_Line (-("Hello world!"));
+```
+
+To build the message translation file (`PO files`), a tool can be used to extract
+from the source code the default messages. This process is
+explained in the [GNU gettext](https://www.gnu.org/software/gettext/manual/) documentation.
+
+
+
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/jintp.md b/_crates/jintp.md
new file mode 100644
index 00000000..d8027f83
--- /dev/null
+++ b/_crates/jintp.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "jintp"
+authors: ["Rene Hartmann"]
+maintainers: ["Rene Hartmann "]
+licenses: ["BSD-2-Clause"]
+websites: ["https://github.com/rehartmann/JinTP"]
+tags: ["templates",
+"jinja",
+"jinja2"]
+version: "0.1.0"
+short_description: "Template parser in Ada based on Jinja2"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/journada.md b/_crates/journada.md
new file mode 100644
index 00000000..92a9d8ec
--- /dev/null
+++ b/_crates/journada.md
@@ -0,0 +1,19 @@
+---
+layout: crate
+crate: "journada"
+authors: ["Léo Germond"]
+maintainers: ["Léo Germond "]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/leogermond/journada"]
+tags: ["log",
+"logging",
+"vt100"]
+version: "1.0.0"
+short_description: "Simple and nice configurable logging"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/json.md b/_crates/json.md
new file mode 100644
index 00000000..0a857989
--- /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: "6.0.0"
+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..af5b83fb
--- /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.1"
+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..8c8bca8a
--- /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: "1.0.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..53ecfb66
--- /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: "1.1.0"
+short_description: "A set of SDL-based exercises to learn Ada"
+dependencies: [{crate: "mage", version: "~0.6.1"}]
+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/lal_refactor.md b/_crates/lal_refactor.md
new file mode 100644
index 00000000..9644c069
--- /dev/null
+++ b/_crates/lal_refactor.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "lal_refactor"
+authors: ["AdaCore"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT OR Apache-2.0 WITH LLVM-exception"]
+websites: [""]
+tags: ["refactoring",
+"ada",
+"tool"]
+version: "25.0.0"
+short_description: "Source code refactoring utilities for the Ada language"
+dependencies: [{crate: "adasat", version: "^25"},
+{crate: "gnatcoll", version: "^25"},
+{crate: "libadalang", version: "^25"},
+{crate: "libadalang_tools", version: "^25"},
+{crate: "prettier_ada", version: "^25"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/langkit_support.md b/_crates/langkit_support.md
new file mode 100644
index 00000000..e01a57c5
--- /dev/null
+++ b/_crates/langkit_support.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "langkit_support"
+authors: ["AdaCore"]
+maintainers: ["Pierre-Marie de Rodat ",
+"chouteau@adacore.com"]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/AdaCore/langkit"]
+tags: []
+version: "25.0.0"
+short_description: "Runtime support library for Langkit-generated libraries"
+dependencies: [{crate: "adasat", version: "^25"},
+{crate: "gnatcoll", version: "^25"},
+{crate: "gnatcoll_gmp", version: "^25"},
+{crate: "gnatcoll_iconv", version: "^25"},
+{crate: "prettier_ada", version: "^25"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lea.md b/_crates/lea.md
new file mode 100644
index 00000000..bb3fecc7
--- /dev/null
+++ b/_crates/lea.md
@@ -0,0 +1,48 @@
+---
+layout: crate
+crate: "lea"
+authors: ["Gautier de Montmollin"]
+maintainers: ["gdemont@hotmail.com"]
+licenses: ["MIT"]
+websites: ["https://l-e-a.sourceforge.io/"]
+tags: ["application",
+"lea",
+"editor",
+"hac"]
+version: "0.90.0"
+short_description: "LEA is a Lightweight Editor for Ada "
+dependencies: [{crate: "ini_files", version: "^10.0.0"},
+{crate: "gwindows", version: "^1.4.3"},
+{crate: "zipada", version: "^58.0.0"},
+{crate: "gnat", version: "/=10.3.2"},
+{crate: "hac", version: "~0.30.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
+
+
+
+**LEA**, a **Lightweight Editor for Ada**, aims to provide an easy, script-world-like, "look & feel" for developing Ada projects of any size and level, while enabling access to full-scale development tools like GNAT.
+
+Features:
+
+* Quick start and reactivity
+* Uses the Scintilla editor widget (like Notepad++)
+* Multi-document
+* Multiple undo's & redo's
+* Multi-line, multi-point editing; rectangular selections
+* Duplication of lines and selections
+* Color themes
+* Syntax highlighting, parenthesis matching
+* Bookmarks
+* Smart editor features (auto-completion, navigation, mouse-hover infos)
+* Includes HAC, the HAC Ada Compiler
+* Includes numerous examples of Ada programs, ready to be run
+* Single executable, runs without installation
+* Programmed in Ada
+* **Free**, Open-Source
+
+
diff --git a/_crates/learnadainy.md b/_crates/learnadainy.md
new file mode 100644
index 00000000..a91ff4d0
--- /dev/null
+++ b/_crates/learnadainy.md
@@ -0,0 +1,17 @@
+---
+layout: crate
+crate: "learnadainy"
+authors: ["Luke A. Guest"]
+maintainers: ["Luke A. Guest "]
+licenses: ["MIT OR Apache-2.0 WITH LLVM-exception"]
+websites: ["https://learnxinyminutes.com/docs/ada"]
+tags: ["education"]
+version: "0.2.0"
+short_description: "Learn Ada in Y Minutes"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libadalang.md b/_crates/libadalang.md
new file mode 100644
index 00000000..68fcaea2
--- /dev/null
+++ b/_crates/libadalang.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "libadalang"
+authors: ["AdaCore"]
+maintainers: ["Pierre-Marie de Rodat ",
+"chouteau@adacore.com"]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/AdaCore/libadalang"]
+tags: ["libadalang",
+"static-analysis"]
+version: "25.0.0"
+short_description: "Ada semantic analysis library"
+dependencies: [{crate: "gnatcoll", version: "^25"},
+{crate: "gnatcoll_gmp", version: "^25"},
+{crate: "gnatcoll_iconv", version: "^25"},
+{crate: "langkit_support", version: "^25"},
+{crate: "libgpr2", version: "^25"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libadalang2xml.md b/_crates/libadalang2xml.md
new file mode 100644
index 00000000..25d4f660
--- /dev/null
+++ b/_crates/libadalang2xml.md
@@ -0,0 +1,86 @@
+---
+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.2"
+short_description: "Generates XML for Ada source, using libadalang."
+dependencies: [{crate: "libadalang", version: "*"}]
+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.
+
+## Building on macOS ##
+
+Using the standard `langkit_support`, `libadalang` crates, you **must** build with `LIBRARY_TYPE` set to `relocatable`.
+
+You can obtain versions of those crates adjusted to not require those features, which can therefore build the (default) static libraries, by visiting https://github.com/simonjwright/alire-index.mac.
+
+## 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..0782af0e
--- /dev/null
+++ b/_crates/libadalang_tools.md
@@ -0,0 +1,28 @@
+---
+layout: crate
+crate: "libadalang_tools"
+authors: ["AdaCore"]
+maintainers: ["Pierre-Marie de Rodat ",
+"Max Reznik "]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/AdaCore/libadalang-tools"]
+tags: ["libadalang",
+"static-analysis",
+"metric",
+"formatting",
+"generator",
+"gnatmetric",
+"gnatpp",
+"gnatstub",
+"gnattest"]
+version: "25.0.0"
+short_description: "Ada semantic analysis library extension and tools"
+dependencies: [{crate: "libadalang", version: "^25.0.0"},
+{crate: "templates_parser", version: "^25.0.0"},
+{crate: "vss", version: "^25.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/libchipmunk.md b/_crates/libchipmunk.md
new file mode 100644
index 00000000..a72bd89f
--- /dev/null
+++ b/_crates/libchipmunk.md
@@ -0,0 +1 @@
+Not found: libchipmunk*
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/libcmark.md b/_crates/libcmark.md
new file mode 100644
index 00000000..04d64055
--- /dev/null
+++ b/_crates/libcmark.md
@@ -0,0 +1 @@
+Not found: libcmark*
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/libglib.md b/_crates/libglib.md
new file mode 100644
index 00000000..6ab1ad2d
--- /dev/null
+++ b/_crates/libglib.md
@@ -0,0 +1 @@
+Not found: libglib*
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..bc4ebc2e
--- /dev/null
+++ b/_crates/libgnatdoc.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "libgnatdoc"
+authors: ["AdaCore"]
+maintainers: ["Vadim Godunko ",
+"Maxim Reznik "]
+licenses: ["GPL-3.0-or-later WITH GCC-exception-3.1"]
+websites: ["https://github.com/AdaCore/gnatdoc"]
+tags: ["documentation",
+"tools"]
+version: "25.0.0"
+short_description: "GNAT Documentation Generation Tool (as a library)"
+dependencies: [{crate: "libadalang", version: "^25"},
+{crate: "libgpr2", version: "^25"},
+{crate: "markdown", version: "^25"},
+{crate: "vss", version: "^25"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libgnatformat.md b/_crates/libgnatformat.md
new file mode 100644
index 00000000..f2472a13
--- /dev/null
+++ b/_crates/libgnatformat.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "libgnatformat"
+authors: ["AdaCore"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["MIT OR Apache-2.0 WITH LLVM-exception"]
+websites: [""]
+tags: ["formatting",
+"ada",
+"lib"]
+version: "25.0.0"
+short_description: "opinionated code format library for the Ada language"
+dependencies: [{crate: "adasat", version: "^25"},
+{crate: "gnatcoll", version: "^25"},
+{crate: "libadalang", version: "^25"},
+{crate: "prettier_ada", version: "^25"}]
+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..eb91e462
--- /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: "25.0.0"
+short_description: "GNAT Project File Library"
+dependencies: [{crate: "gnat", version: "/=2020"},
+{crate: "xmlada", version: "~25.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/libgpr2.md b/_crates/libgpr2.md
new file mode 100644
index 00000000..7171c99f
--- /dev/null
+++ b/_crates/libgpr2.md
@@ -0,0 +1,20 @@
+---
+layout: crate
+crate: "libgpr2"
+authors: ["AdaCore"]
+maintainers: ["chouteau@adacore.com"]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: []
+version: "25.0.0"
+short_description: "Parser for GPR Project File"
+dependencies: [{crate: "gnat", version: ">=14"},
+{crate: "gnatcoll", version: "~25.0.0"},
+{crate: "gnatcoll_gmp", version: "~25.0.0"},
+{crate: "gnatcoll_iconv", version: "~25.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/liblal_refactor.md b/_crates/liblal_refactor.md
new file mode 100644
index 00000000..a09908be
--- /dev/null
+++ b/_crates/liblal_refactor.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "liblal_refactor"
+authors: ["AdaCore"]
+maintainers: ["Fabien Chouteau "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: ["https://github.com/AdaCore/lal-refactor"]
+tags: ["refactoring"]
+version: "25.0.0"
+short_description: "Source code refactoring library for the Ada language"
+dependencies: [{crate: "libadalang_tools", version: "^25"},
+{crate: "vss", version: "^25"}]
+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/libmagic.md b/_crates/libmagic.md
new file mode 100644
index 00000000..14a93dd1
--- /dev/null
+++ b/_crates/libmagic.md
@@ -0,0 +1 @@
+Not found: libmagic*
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/libpcap.md b/_crates/libpcap.md
new file mode 100644
index 00000000..ffed5e3f
--- /dev/null
+++ b/_crates/libpcap.md
@@ -0,0 +1 @@
+Not found: libpcap*
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/libraylib.md b/_crates/libraylib.md
new file mode 100644
index 00000000..cc7ea5b8
--- /dev/null
+++ b/_crates/libraylib.md
@@ -0,0 +1 @@
+Not found: libraylib*
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_mixer.md b/_crates/libsdl2_mixer.md
new file mode 100644
index 00000000..18f0043d
--- /dev/null
+++ b/_crates/libsdl2_mixer.md
@@ -0,0 +1 @@
+Not found: libsdl2_mixer*
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/libsecret.md b/_crates/libsecret.md
new file mode 100644
index 00000000..1843c926
--- /dev/null
+++ b/_crates/libsecret.md
@@ -0,0 +1 @@
+Not found: libsecret*
diff --git a/_crates/libsimpleio.md b/_crates/libsimpleio.md
new file mode 100644
index 00000000..71f06cd7
--- /dev/null
+++ b/_crates/libsimpleio.md
@@ -0,0 +1,150 @@
+---
+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: "2.22364.1"
+short_description: "Linux Simple I/O Library"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+Introduction
+============
+
+This crate provides an Ada binding to the [Linux Simple I/O
+Library](https://github.com/pmunts/libsimpleio), *aka* **libsimpleio**.
+
+*Note: This crate includes all of the functionality of the **`mcp2221`**
+and **`remoteio`** crates. Unlike those two crates, which can be built
+for and used on Linux, MacOS, or Windows targets, this crate can only be
+built for and used on Linux targets.*
+
+Linux Simple I/O Library
+========================
+
+**libsimpleio** is an attempt to encapsulate (as much as possible) the
+ugliness of Linux I/O device access. It provides services for the
+following types of I/O devices:
+
+- [Industrial I/O
+ Subsystem](https://wiki.analog.com/software/linux/docs/iio/iio) A/D
+ (Analog to Digital) Converter Devices
+- [Industrial I/O
+ Subsystem](https://wiki.analog.com/software/linux/docs/iio/iio) D/A
+ (Digital to Analog) Converter Devices
+- GPIO (General Purpose Input/Output) Pins
+- Raw HID (Human Interface Device) Devices
+- I2C (Inter-Integrated Circuit) Bus Devices
+- PWM (Pulse Width Modulated) Output Devices
+- [Remote I/O
+ Protocol](http://git.munts.com/libsimpleio/doc/RemoteIOProtocol.pdf)
+ Devices
+- Serial Ports
+- SPI (Serial Peripheral Interface) Bus Devices
+- [Stream Framing
+ Protocol](http://git.munts.com/libsimpleio/doc/StreamFramingProtocol.pdf)
+ Devices
+- TCP and UDP over IPv4 Network Devices
+- Watchdog Timer Devices
+
+**libsimpleio** exports a small number of C wrapper or shim functions.
+These shim functions present a more coherent API (Application
+Programming Interface) than Linux kernel **`ioctl()`** services and the
+myriad other different Linux device I/O API's. The **libsimpleio** shim
+functions are designed to be easily called from Ada, C++, C#, Java,
+Free Pascal and other programming languages.
+
+The **`man`** pages specifying the **libsimpleio** API (Application
+Programming Interface) are available for viewing at
+.
+
+Ada Binding for the Linux Simple I/O Library
+============================================
+
+The Ada binding consists of several software component layers.
+
+The bottom software component layer consists of the **C shim functions**
+discussed in the previous section.
+
+The next software component layer consists of **binding packages** that
+declare the C shim functions as Ada procedures. Each of the binding
+packages corresponds to a single C source file (*e.g.* package
+**`libadc`** corresponds to **`libadc.c`**). Each of the C shim
+functions are declared as external Ada procedures using
+**`pragma Import`**. The Ada procedure names do not necessarily match
+the C function names (*e.g.* the C function **`ADC_Open()`** is declared
+as Ada procedure **`libadc.Open`**). Many of the binding packages also
+declare constants as well (*e.g.* **`DIRECTION_INPUT`** in
+**`libgpio.ads`**).
+
+With very few exceptions, you will never need to directly call any of
+the procedures nor reference any of the constants declared in the
+**`libxxx`** binding packages.
+
+The next software component layer consists of **object packages** that
+declare OOP (Object Oriented Programming) object types and methods for
+each of the I/O subsystems. This layer uses Ada interface types,
+access-to-interface types, and private tagged records extensively.
+
+For example, the package **`GPIO`** defines an interface type
+**`PinInterface`**, an access to **`PinInterface`** type named
+**`Pin`**, and primitive operation subprograms **`Get`** and **`Put`**.
+
+The child package **`GPIO.libsimpleio`** declares a private tagged
+record type **`PinSubclass`** that *implements* **`GPIO.PinInterface`**,
+subprograms **`Get`** and **`Put`** that are required to implement
+**`GPIO.PinInterface`**, and a constructor function **`Create`** that
+returns an **`GPIO.Pin`** access value.
+
+Every package that implements **`GPIO.PinInterface`** will also declare
+a constructor function **`Create`** that returns **`GPIO.Pin`**.
+
+This architecture allows code similar to the following fragment:
+
+ MyPins : array (1 .. 3) of GPIO.pin;
+
+ GPIO(1) := GPIO.libsimpleio.Create(...);
+ GPIO(2) := GPIO.UserLED.Create(...);
+ GPIO(3) := GPIO.PWM.Create(...);
+
+The three GPIO pins can be stored in the same array and manipulated in
+exactly the same manner even though the hardware implementation for each
+pin is radically different.
+
+The topmost software component layer consists of **device packages**
+that implement support for particular I/O devices and are built upon the
+lower layers. Most of the device packages correspond to integrated
+circuits, such as the [PCA9534 I2C GPIO
+Expander](https://www.nxp.com/products/interfaces/ic-spi-serial-interface-devices/ic-general-purpose-i-o/8-bit-ic-bus-and-smbus-low-power-i-o-port-with-interrupt:PCA9534).
+A few implement support for boards or modules, such the [Grove
+Temperature
+Sensor](https://www.seeedstudio.com/Grove-Temperature-Sensor.html)
+module.
+
+
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/light_arduino_due.md b/_crates/light_arduino_due.md
new file mode 100644
index 00000000..0f4e3dc0
--- /dev/null
+++ b/_crates/light_arduino_due.md
@@ -0,0 +1,25 @@
+---
+layout: crate
+crate: "light_arduino_due"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["a0b",
+"embedded",
+"bsp",
+"light",
+"atsam3x8e",
+"sam3x8e",
+"arduino",
+"due"]
+version: "0.2.0"
+short_description: "Arduino Due Board Support Package for `light` GNAT Runtime"
+dependencies: [{crate: "a0b_atsam3x8e", version: "*"},
+{crate: "gnat_arm_elf", version: "*"}]
+configuration_variables: []
+configuration_values: [{crate: 'a0b_armv7m', settings: [{name: 'fpu_extension', value: "none"}]}]
+
+---
+
+
diff --git a/_crates/light_blackpill_stm32f401.md b/_crates/light_blackpill_stm32f401.md
new file mode 100644
index 00000000..768b5398
--- /dev/null
+++ b/_crates/light_blackpill_stm32f401.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "light_blackpill_stm32f401"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["embedded",
+"bsp",
+"light",
+"blackpill",
+"stm32",
+"stm32f4",
+"stm32f401"]
+version: "0.2.0"
+short_description: "BlackPill STM32F401 BSP for `light` GNAT Runtime"
+dependencies: [{crate: "a0b_stm32f401", version: "*"}]
+configuration_variables: [{name: 'STM32F401', type: 'Enum (CB, CC, CD, CE)', default: "CB"}]
+configuration_values: [{crate: 'a0b_armv7m', settings: [{name: 'fpu_extension', value: "VFPv4"}]}]
+
+---
+
+
diff --git a/_crates/light_fk723m1_zgt6.md b/_crates/light_fk723m1_zgt6.md
new file mode 100644
index 00000000..34977459
--- /dev/null
+++ b/_crates/light_fk723m1_zgt6.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "light_fk723m1_zgt6"
+authors: ["Vadim Godunko"]
+maintainers: ["Vadim Godunko "]
+licenses: ["Apache-2.0 WITH LLVM-exception"]
+websites: []
+tags: ["embedded",
+"bsp",
+"light",
+"stm32h723",
+"fk723m1"]
+version: "0.1.0"
+short_description: "FK723M1-ZGT6 Board Support Package for `light` GNAT Runtime"
+dependencies: [{crate: "gnat_arm_elf", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+
+
diff --git a/_crates/lined.md b/_crates/lined.md
new file mode 100644
index 00000000..95743d9b
--- /dev/null
+++ b/_crates/lined.md
@@ -0,0 +1,23 @@
+---
+layout: crate
+crate: "lined"
+authors: ["Jeff Carter"]
+maintainers: ["Bent Bracke "]
+licenses: ["BSD-3-Clause"]
+websites: ["https://github.com/bracke/Lined"]
+tags: ["line",
+"editor"]
+version: "20240419.0.0"
+short_description: "Ada Implementation of the Line Editor from Software Tools"
+dependencies: [{crate: "gnat", version: "<13.0 | >=13.3"},
+{crate: "pragmarc", version: "^20240323.0.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+# Lined
+Ada Implementation of the Line Editor from Software Tools
+
+I did this to see how it would compare with the Ratfor original, and provide it here for anyone with a similar interest. I can't imagine anyone actually using this, unless they wanted a scriptable tool with the alternative regular-expression syntax it uses, since it's a simplified version of ed.
+
+
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/lispcli.md b/_crates/lispcli.md
new file mode 100644
index 00000000..e3f6d635
--- /dev/null
+++ b/_crates/lispcli.md
@@ -0,0 +1,22 @@
+---
+layout: crate
+crate: "lispcli"
+authors: ["Brent Seidel"]
+maintainers: ["Brent Seidel "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/BrentSeidel/Ada-Lisp"]
+tags: ["lisp"]
+version: "0.1.1"
+short_description: "Simple program for exploring tiny lisp"
+dependencies: [{crate: "gnat", version: ">7.5"},
+{crate: "bbs", version: "~0.1.0"},
+{crate: "bbs_lisp", version: "~0.1.0"}]
+configuration_variables: []
+configuration_values: []
+
+---
+This is a simple example of embedding Lisp to provide a REPL where you
+can try various Lisp functions. It can also be modified to test out
+Lisp extensions.
+
+
diff --git a/_crates/list_image.md b/_crates/list_image.md
new file mode 100644
index 00000000..8890a123
--- /dev/null
+++ b/_crates/list_image.md
@@ -0,0 +1,21 @@
+---
+layout: crate
+crate: "list_image"
+authors: ["Lionel Draghi"]
+maintainers: ["Lionel Draghi "]
+licenses: ["Apache-2.0"]
+websites: ["https://github.com/LionelDraghi/List_Image"]
+tags: ["list",
+"iterator",
+"container",
+"markdown",
+"html"]
+version: "1.0.0"
+short_description: "helper to dump iterable containers with customizable style"
+dependencies: []
+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/loadcpm.md b/_crates/loadcpm.md
new file mode 100644
index 00000000..39506c3f
--- /dev/null
+++ b/_crates/loadcpm.md
@@ -0,0 +1,18 @@
+---
+layout: crate
+crate: "loadcpm"
+authors: ["Brent Seidel"]
+maintainers: ["Brent Seidel "]
+licenses: ["GPL-3.0-or-later"]
+websites: ["https://github.com/BrentSeidel/Sim-CPU"]
+tags: ["cpm"]
+version: "0.1.0"
+short_description: "Write CP/M (or other similar binary) to floppy disk image"
+dependencies: [{crate: "bbs", version: "~0.1.0"},
+{crate: "bbs_simcpu", version: "~0.1.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..bee1565e
--- /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.4"
+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/magicada.md b/_crates/magicada.md
new file mode 100644
index 00000000..2fa0068f
--- /dev/null
+++ b/_crates/magicada.md
@@ -0,0 +1,57 @@
+---
+layout: crate
+crate: "magicada"
+authors: ["Stephane.Carrez@gmail.com"]
+maintainers: ["Stephane.Carrez@gmail.com"]
+licenses: ["Apache-2.0"]
+websites: ["https://gitlab.com/stcarrez/ada-libmagic"]
+tags: ["magic",
+"file",
+"bindings"]
+version: "1.0.1"
+short_description: "Magic Number Recognition Library Ada binding"
+dependencies: [{crate: "libmagic", version: "*"}]
+configuration_variables: []
+configuration_values: []
+
+---
+Small Ada binding library to the [libmagic (3)](https://linux.die.net/man/3/libmagic)
+library which is used by the implementation of the
+[file (1)](https://linux.die.net/man/1/file) command.
+
+To simplify and help in the use of the magic Ada library, the
+`Magic.Manager` package encapsulates the management of the libmagic library
+and provides high level simple operations to hide the details of interacting
+with the C library. The package defines the `Magic_Manager` tagged record
+that takes care of the C library interaction and cleaning of the libmagic
+library once the manager is no longer required. To use it, declare the
+instance and initialize it with the `Initialize` procedure:
+
+```Ada
+ with Magic.Manager;
+ ...
+ Mgr : Magic.Manager.Magic_Manager;
+ ...
+ Mgr.Initialize (Magic.MAGIC_MIME, Magic.DEFAULT_PATH);
+```
+
+The first parameter defines a set of flags represented by the `Magic.Flags`
+type to control various options of the libmagic library. The second
+parameter indicates the default path to the magic file
+(see [magic (5)](https://linux.die.net/man/5/magic)).
+Once configured, the `Identify` functions can be used to identify a content.
+For the first form, a path of the file is given:
+
+```Ada
+ Mime : constant String := Mgr.Identify ("file.ads");
+```
+
+With the second form, a `Stream_Element_Array` with the content to identify
+is given to the function.
+
+## Example
+
+- [examples.adb](https://gitlab.com/stcarrez/ada-libmagic/-/blob/main/examples/src/examples.adb?ref_type=heads)
+
+
+
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..e903b111
--- /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: "25.0.0"
+short_description: "Markdown parser (draft)"
+dependencies: [{crate: "vss", version: "~25.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..d10a035a
--- /dev/null
+++ b/_crates/mathpaqs.md
@@ -0,0 +1,50 @@
+---
+layout: crate
+crate: "mathpaqs"
+authors: ["Gautier de Montmollin"]
+maintainers: ["alejandro@mosteo.com"]
+licenses: ["MIT"]
+websites: ["https://mathpaqs.sourceforge.io/"]
+tags: ["algebra",
+"contour",
+"contour-plot",
+"formula-parser",
+"fractal",
+"kutta",
+"linear-algebra",
+"mathematics",
+"matrix",
+"numerics",
+"pareto",
+"poisson",
+"polynomial",
+"probability",
+"random",
+"rational",
+"runge",
+"runge-kutta",
+"statistics"]
+version: "20230121.0.0"
+short_description: "A collection of mathematical, 100% portable, packages"
+dependencies: []
+configuration_variables: []
+configuration_values: []
+
+---
+![Mathpaqs illustration](https://mathpaqs.sourceforge.io/mathpaqs_files/image001.jpg)
+
+Various mathematical packages including algebra, finite elements, random variables, probability dependency models, unlimited integers.
+
+Key features of Mathpaqs:
+
+* Standalone
+* Pure Ada
+* Unconditionally portable (*)
+* Tests and demos included
+* **Free**, Open-Source
+
+___
+
+(*) within limits of compiler's provided integer types and target architecture capacity.
+
+
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