mirror of
https://github.com/adamdruppe/arsd.git
synced 2025-04-27 05:40:00 +03:00
This is a collection of modules that I've released over the years. Most of them stand alone, or have just one or two dependencies in here, so you don't have to download this whole repo.
obsolete | ||
audio.d | ||
bmp.d | ||
cgi.d | ||
characterencodings.d | ||
color.d | ||
csv.d | ||
curl.d | ||
database.d | ||
dom.d | ||
email.d | ||
engine.d | ||
english.d | ||
eventloop.d | ||
glu32.lib | ||
html.d | ||
htmltotext.d | ||
http.d | ||
http2.d | ||
joystick.d | ||
jpg.d | ||
jsvar.d | ||
LICENSE | ||
mangle.d | ||
minigui.d | ||
mssql.d | ||
mysql.d | ||
oauth.d | ||
opengl32.lib | ||
png.d | ||
postgres.d | ||
querygenerator.d | ||
README | ||
rpc.d | ||
rtud.d | ||
screen.d | ||
script.d | ||
sha.d | ||
simpleaudio.d | ||
simpledisplay.d | ||
sqlite.d | ||
sslsocket.d | ||
stb_truetype.d | ||
terminal.d | ||
web.d | ||
web.d.php | ||
xwindows.d |
This is a collection of modules I find generally useful. Documentation ================== I know I'm pretty light on this. There's some ddocs but for the most part, I kinda expect you to use it the way I do: hoping things are logical and looking at the source to fill in the gaps. You can always catch me on email though: destructionator@gmail.com. That's the most reliable way to reach me. Basic idea =================== Modules are usually independent; you don't need this whole directory but it doesn't hurt to grab it all either. I like to compile by just passing all the modules to the command line at once. For example: dmd yourapp.d cgi.d. That's why I don't bother with a separate arsd/ directory nor with dub packages. Passing the files is faster to compile and easier to use! Read more about the modules at these links (docs are still works in process): cgi.d info: http://arsdnet.net/web.d/cgi.d.html web.d info: http://arsdnet.net/web.d/web.d.html 64 Bit ============= Believe it or not, but I still mostly use 32 bit programs myself. I try to keep things working on 64 bit, but don't always test it. If something doesn't compile or work on 64 bit, email me and I'll see about fixing it. I also tend to run a version behind bleeding-edge dmd, so sometimes things break there too. Again, if that's a problem, just email me and I can typically get you a fix in about an hour. Currently included are: Web related ================ cgi.d - base module for making webapps in D. Supports cgi, fastcgi, scgi, and embedded_httpd via -version=xxxx dom.d - an xml/html DOM based on what Javascript provides in browsers web.d - a fancier way to write web apps. Uses reflection to make functions accessible via url with minimal boilerplate in your code email.d - gives read and write support for emails, sending via SMTP and reading mbox files web.d.php - a PHP library meant to ease integration of php components with web.d apps. Gives (read) access to the session, and full access to your D ApiProviders. html.d - functions to manipulate HTML documents, and now css and javascript with DOM functions, nested css statements, and macros for css and js. oauth.d - Oauth 1.0 implementation with some helper functions for facebook, twitter, etc. htmltotext.d - converts html into plain text rtud.d - a real time update helper for HTML5 EventSource. Kinda buggy. Database related ================ database.d - main interface to databases. Includes DataObject mysql.d - a mysql engine for database.d (most mature of the three). also includes some basic ORM postgres.d - a postgres engne for database.d sqlite.d - a sqlite engine for database.d mssql.d - a (super crappy) mssql engine for database.d (uses ODBC) querygenerator.d - a user submission for generating sql queries Desktop app stuff ================ simpledisplay.d - gives quick and easy access to a window for drawing and input. Also has some OpenGL capabilities. minigui.d - a small widgetset built on top of simpledisplay.d offering buttons, checkboxes, etc. terminal.d - quick and easy access to a text mode console/terminal htmlwidget.d - a very small html widget, built on simpledisplay.d Game stuff ================= engine.d, screen.d, audio.d - a quick wrapper to SDL and OpenGL I used in the pre D1 days, now updated so it compiles as both D1 and D2 (use the -d switch to dmd) Requires some SDL bindings. Eventually I'll redo it. Reading Common Files ================= bmp.d - basic .bmp file read/write support png.d - provides some png read/write support jpg.d - just reading jpg header right now csv.d - gives read support to csv files Cool stuff ================ jsvar.d - gives a dynamic type in D similar to Javascript's var script.d - a little script interpreter whose language is like a hybrid of D and Javascript (builds on jsvar.d) Other ================ stb_truetype.d - a port of the nice little C library stb_truetype.h to D for drawing text without external dependencies eventloop.d - first draft of a generic event loop that can be reused by several libraries try it with terminal.d or simpledisplay.d with -version=with_eventloop. Only works on Linux right now. sha.d - implementations of the SHA1 and SHA256 algorithms curl.d - a small wrapper around the curl library http.d - a lighterweight alternative to curl.d color.d - a basic color struct and some HSL functions. Also includes really basic image classes on which png.d, bmp.d, and others depend, and now some quantization and dithering algorithms. characterencodings.d - conversion to UTF8 of various encodings Obsolete ================ image.d - now merged into color.d lazypng.d - now merged into png.d httpd.d - old http server, use cgi.d with -version=embedded_httpd instead netman.d - old network helper code, you should try vibe.d <http://vibed.org/> or maybe cgi.d's threaded thing instead since this one is now unmaintained and poor in quality compared to vibe anyway. domconvenience.d - now merged into dom.d Things I'll add when I get the time: event.d - reading Linux's /dev/event e.g. for second keyboards and usb joysticks browser.d - a tiny browser based on htmlwidget.d wav.d - reading and writing WAV files midi.d - reading and writing MIDI files (I actually need to port it from C still!) simpleaudio.d - gives minimal audio output minimal.zip - a set of minimal D functions, works on bare metal. see: http://arsdnet.net/dcode/minimal.zip Authors: Thanks go to Nick Sabalausky, Trass3r, Stanislav Blinov, and maartenvd for input and patches.