diff --git a/README.md b/README.md
index 567785e..ad4ae12 100644
--- a/README.md
+++ b/README.md
@@ -113,6 +113,7 @@ Only projects that are stable and useful to users are added. Projects that do no
* SDL
* [AngryLawyer/rust-sdl2](https://github.com/AngryLawyer/rust-sdl2) — [SDL2](http://www.libsdl.org/) bindings [
](https://travis-ci.org/AngryLawyer/rust-sdl2)
* [brson/rust-sdl](https://github.com/brson/rust-sdl) — [SDL1](http://www.libsdl.org/) bindings [
](https://travis-ci.org/brson/rust-sdl)
+* SFML
* Termbox
* [gchp/rustbox](https://github.com/gchp/rustbox) — a Rust implementation of [termbox]() http://github.com/nsf/termbox
* wxWidgets
diff --git a/UNSTABLE.md b/UNSTABLE.md
index a0833a2..8b839d6 100644
--- a/UNSTABLE.md
+++ b/UNSTABLE.md
@@ -2,47 +2,132 @@
A list of awesome but unstable/experimental Rust projects which some day hopefully will be migrated to `README.md`.
-- [Game development](#game-development)
-- [Games](#games)
-- [GUI](#gui)
-- [Network programming](#network-programming)
+- [Awesome Rust](#awesome-rust)
+ - [Code](#code)
+ - [Audio](#audio)
+ - [Build system](#build-system)
+ - [Command-line argument parsing](#command-line-argument-parsing)
+ - [Compression](#compression)
+ - [Computation](#computation)
+ - [Cryptography](#cryptography)
+ - [Database](#database)
+ - [Encoding](#encoding)
+ - [Game development](#game-development)
+ - [Games](#games)
+ - [GUI](#gui)
+ - [Image processing](#image-processing)
+ - [Network programming](#network-programming)
+ - [Template engine](#template-engine)
+ - [Testing](#testing)
+ - [Web programming](#web-programming)
+ - [Resources](#resources)
-## Game development
+## Code
-* OpenGL
- * [bjz/gl-rs](https://github.com/bjz/gl-rs) An OpenGL function pointer loader for Rust [
](https://travis-ci.org/bjz/gl-rs)
- * [servo/rust-opengles](https://github.com/mozilla-servo/rust-opengles) OpenGL ES 2.0 bindings for Rust
-* Windowing
- * [bjz/glfw-rs](https://github.com/bjz/glfw-rs) GLFW3 bindings and idiomatic wrapper for Rust. [
](https://travis-ci.org/bjz/glfw-rs)
- * [jeremyletang/rust-sfml](https://github.com/JeremyLetang/rust-sfml) SFML bindings for Rust [
](https://travis-ci.org/JeremyLetang/rust-sfml)
- * [servo/rust-glut](https://github.com/mozilla-servo/rust-glut) GLUT bindings for Rust
- * [SiegeLord/RustAllegro](https://github.com/SiegeLord/RustAllegro) A Rust wrapper and bindings of Allegro 5 game programming library [](https://travis-ci.org/SiegeLord/RustAllegro)
-* Game Engines
- * [PistonDevelopers/piston](https://github.com/pistondevelopers/piston/) A user friendly game engine written in Rust
- * [sebcrozet/kiss3d](https://github.com/sebcrozet/kiss3d) Keep it simple, stupid 3d graphics engine for Rust.
-* Collision Detection, Physics
- * [bjz/bullet-rs](https://github.com/bjz/bullet-rs/) Bindings and wrapper for the Bullet physics C API
- * [sebcrozet/ncollide](https://github.com/sebcrozet/ncollide) n-dimensional collision detection library in Rust.
- * [sebcrozet/nphysics](https://github.com/sebcrozet/nphysics) 2 and 3-dimensional rigid body physics engine for Rust. [](https://travis-ci.org/sebcrozet/nphysics)
-## Games
+### Audio
+
+
+### Build system
+
+* CMake
+* Make
+
+### Command-line argument parsing
+
+
+### Compression
+
+
+### Computation
+
+
+### Cryptography
+
+
+### Database
+
+* SQL
+ * MySql
+ * PostgreSql
+ * Sqlite
+
+### Encoding
+
+* Cap'n Proto
+* Character Encoding
+* CSV
+ * [Geal/rust-csv](https://github.com/Geal/rust-csv) — [
](https://travis-ci.org/Geal/rust-csv)
+* MsgPck
+* ProtocolBuffers
+* TOML
+* Tnetstring
+ * [erickt/rust-tnetstring](https://github.com/erickt/rust-tnetstring) — [
](https://travis-ci.org/erickt/rust-tnetstring)
+* XML
+
+### Game development
+
+* [JeremyLetang/rustenstein3D](https://github.com/JeremyLetang/rustenstein3D/) — a raycasting engine in rust
+* [PistonDevelopers/piston](https://github.com/pistondevelopers/piston)
+* [sebcrozet/kiss3d](https://github.com/sebcrozet/kiss3d)
+* [sebcrozet/ncollide](https://github.com/sebcrozet/ncollide)
+* [sebcrozet/nphysics](https://github.com/sebcrozet/nphysics)
+* [SiegeLord/RustAllegro](https://github.com/SiegeLord/RustAllegro)
+* [bjz/bullet-rs](https://github.com/bjz/bullet-rs)
+
+### Games
* [Arcterus/game-of-life](https://github.com/Arcterus/game-of-life)
* [Arcterus/rust-snake](https://github.com/Arcterus/rust-snake)
-* [bachm/rusty-t*tris](https://github.com/bachm/rusty-tetris)
+* [bachm/rusty-tetris](https://github.com/bachm/rusty-tetris)
* [bvssvni/rust-snake](https://github.com/bvssvni/rust-snake)
* [Coeuvre/rust-2048](https://github.com/Coeuvre/rust-2048)
* [Coeuvre/rust-pong](https://github.com/Coeuvre/rust-pong)
-* [dpc/rustyhex](https://github.com/dpc/rustyhex/) Simple roguelike written in Rust language
-* [FrozenCow/rust-airhockey](https://github.com/FrozenCow/rust-airhockey) A simple airhockey game using rust-sdl and OpenGL
-* [jeaye/q3](https://github.com/Jeaye/q3) A Quake 3 like game with voxelized destructible maps [
](https://travis-ci.org/jeaye/q3)
-* [mynery/xxo](https://github.com/mynery/xxo) Tic Tac Toe in rust with termbox
-* [ozkriff/marauder](https://github.com/ozkriff/marauder) Turn-based strategy game written in Rust using GLFW 3 and OpenGL [
](https://travis-ci.org/ozkriff/marauder)
-* [rlane/cubeland](https://github.com/rlane/cubeland) Infinite terrain with Rust and OpenGL
-* [zokier/pong-rs](https://github.com/zokier/pong-rs) Classic pong game
+* [dpc/rustyhex](https://github.com/dpc/rustyhex)
+* [FrozenCow/rust-airhockey](https://github.com/FrozenCow/rust-airhockey)
+* [jeaye/q3](https://github.com/jeaye/q3)
+* [mynery/xxo](https://github.com/mynery/xxo)
+* [ozkriff/marauder](https://github.com/ozkriff/marauder)
+* [rlane/cubeland](https://github.com/rlane/cubeland)
+* [zokier/pong-rs](https://github.com/zokier/pong-rs)
-## GUI
-* [kenz-gelsoft/wxRust](https://github.com/kenz-gelsoft/wxRust) — [wxWidgets](http://www.wxwidgets.org/) bindings. [
](https://travis-ci.org/kenz-gelsoft/wxRust)
+### GUI
-## Network programming
-* [zeromq/zmq.rs](https://github.com/zeromq/zmq.rs) — Rust implementation of the [ZeroMQ](http://zeromq.org/) protocol. [
](https://travis-ci.org/zeromq/zmq.rs)
+* Cocoa
+* Gtk+
+* ncurses
+* OpenGL
+ * [bjz/gl-rs](https://github.com/bjz/gl-rs)
+ * [servo/rust-glut](https://github.com/mozilla-servo/rust-glut)
+ * [servo/rust-opengles](https://github.com/servo/rust-opengles)
+ * [bjz/glfw-rs](https://github.com/bjz/glfw-rs)
+* SDL
+* SFML
+ * [jeremyletang/rust-sfml](https://github.com/JeremyLetang/rust-sfml)
+* Termbox
+* wxWidgets
+ * [kenz-gelsoft/wxRust](https://github.com/kenz-gelsoft/wxRust) — [wxWidgets](http://www.wxwidgets.org/) bindings [
](https://travis-ci.org/kenz-gelsoft/wxRust)
+
+### Image processing
+
+
+### Network programming
+
+* ZeroMQ
+
+### Template engine
+
+* Mustache
+
+### Testing
+
+
+### Web programming
+
+See also [http://arewewebyet.com/](http://arewewebyet.com/)
+
+* Core
+* Client
+* Server
+
+## Resources
diff --git a/generate_markdown_files.py b/generate_markdown_files.py
index 474e759..ade4de2 100644
--- a/generate_markdown_files.py
+++ b/generate_markdown_files.py
@@ -356,34 +356,43 @@ DATA = \
"url": "https://github.com/servo/rust-opengles",
"unstable": True
},
- }
-
-
-
-"""
- "": {
- "url": "",
- "descr": " " + md_link('', '') + " ",
- "travis_url": "",
- "travis_badge": "",
+ "PistonDevelopers/piston": {
+ "url": "https://github.com/pistondevelopers/piston",
"unstable": True
},
-
-## Game development
-
-* Windowing
- * [bjz/glfw-rs](https://github.com/bjz/glfw-rs) GLFW3 bindings and idiomatic wrapper for Rust. [
](https://travis-ci.org/bjz/glfw-rs)
- * [jeremyletang/rust-sfml](https://github.com/JeremyLetang/rust-sfml) SFML bindings for Rust [
](https://travis-ci.org/JeremyLetang/rust-sfml)
- * [servo/rust-glut](https://github.com/mozilla-servo/rust-glut) GLUT bindings for Rust
- * [SiegeLord/RustAllegro](https://github.com/SiegeLord/RustAllegro) A Rust wrapper and bindings of Allegro 5 game programming library [](https://travis-ci.org/SiegeLord/RustAllegro)
-* Game Engines
- * [PistonDevelopers/piston](https://github.com/pistondevelopers/piston/) A user friendly game engine written in Rust
- * [sebcrozet/kiss3d](https://github.com/sebcrozet/kiss3d) Keep it simple, stupid 3d graphics engine for Rust.
-* Collision Detection, Physics
- * [bjz/bullet-rs](https://github.com/bjz/bullet-rs/) Bindings and wrapper for the Bullet physics C API
- * [sebcrozet/ncollide](https://github.com/sebcrozet/ncollide) n-dimensional collision detection library in Rust.
- * [sebcrozet/nphysics](https://github.com/sebcrozet/nphysics) 2 and 3-dimensional rigid body physics engine for Rust. [](https://travis-ci.org/sebcrozet/nphysics)
-"""
+ "sebcrozet/kiss3d": {
+ "url": "https://github.com/sebcrozet/kiss3d",
+ "unstable": True
+ },
+ "servo/rust-glut": {
+ "url": "https://github.com/mozilla-servo/rust-glut",
+ "unstable": True
+ },
+ "bjz/glfw-rs": {
+ "url": "https://github.com/bjz/glfw-rs",
+ "unstable": True
+ },
+ "jeremyletang/rust-sfml": {
+ "url": "https://github.com/JeremyLetang/rust-sfml",
+ "unstable": True
+ },
+ "SiegeLord/RustAllegro": {
+ "url": "https://github.com/SiegeLord/RustAllegro",
+ "unstable": True
+ },
+ "bjz/bullet-rs": {
+ "url": "https://github.com/bjz/bullet-rs",
+ "unstable": True
+ },
+ "sebcrozet/ncollide": {
+ "url": "https://github.com/sebcrozet/ncollide",
+ "unstable": True
+ },
+ "sebcrozet/nphysics": {
+ "url": "https://github.com/sebcrozet/nphysics",
+ "unstable": True
+ },
+ }
HEADER_STABLE = \
@@ -538,6 +547,12 @@ entry( ' * ', 'Ygg01/xml-air', rows_stable, rows_unstable )
add( '\n### Game development\n', rows_stable, rows_unstable )
entry( '* ', 'JeremyLetang/rustenstein3D', rows_stable, rows_unstable )
+entry( '* ', 'PistonDevelopers/piston', rows_stable, rows_unstable )
+entry( '* ', 'sebcrozet/kiss3d', rows_stable, rows_unstable )
+entry( '* ', 'sebcrozet/ncollide', rows_stable, rows_unstable )
+entry( '* ', 'sebcrozet/nphysics', rows_stable, rows_unstable )
+entry( '* ', 'SiegeLord/RustAllegro', rows_stable, rows_unstable )
+entry( '* ', 'bjz/bullet-rs', rows_stable, rows_unstable )
add( '\n### Games\n', rows_stable, rows_unstable )
entry( '* ', 'Arcterus/game-of-life', rows_stable, rows_unstable )
@@ -564,10 +579,14 @@ add( '* ncurses', rows_stable, rows_unstable )
entry( ' * ', 'jeaye/ncurses-rs', rows_stable, rows_unstable )
add( '* OpenGL', rows_stable, rows_unstable )
entry( ' * ', 'bjz/gl-rs', rows_stable, rows_unstable )
+entry( ' * ', 'servo/rust-glut', rows_stable, rows_unstable )
entry( ' * ', 'servo/rust-opengles', rows_stable, rows_unstable )
+entry( ' * ', 'bjz/glfw-rs', rows_stable, rows_unstable )
add( '* SDL', rows_stable, rows_unstable )
entry( ' * ', 'AngryLawyer/rust-sdl2', rows_stable, rows_unstable )
entry( ' * ', 'brson/rust-sdl', rows_stable, rows_unstable )
+add( '* SFML', rows_stable, rows_unstable )
+entry( ' * ', 'jeremyletang/rust-sfml', rows_stable, rows_unstable )
add( '* Termbox', rows_stable, rows_unstable )
entry( ' * ', 'gchp/rustbox', rows_stable, rows_unstable )
add( '* wxWidgets', rows_stable, rows_unstable )