mirror of https://github.com/adamdruppe/arsd.git
144 lines
5.5 KiB
Plaintext
144 lines
5.5 KiB
Plaintext
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.
|