From 5682a85075029a98e914a3d8b498307c8c44f37a Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Wed, 27 Jun 2012 02:47:28 -0700 Subject: [PATCH] Create gh-pages branch via GitHub --- images/body-bg.jpg | Bin 0 -> 3188 bytes images/download-button.png | Bin 0 -> 31731 bytes images/github-button.png | Bin 0 -> 3219 bytes images/header-bg.jpg | Bin 0 -> 10442 bytes images/highlight-bg.jpg | Bin 0 -> 34222 bytes images/sidebar-bg.jpg | Bin 0 -> 3200 bytes index.html | 141 +++++++++++ javascripts/main.js | 1 + params.json | 1 + stylesheets/print.css | 226 +++++++++++++++++ stylesheets/pygment_trac.css | 69 +++++ stylesheets/stylesheet.css | 479 +++++++++++++++++++++++++++++++++++ 12 files changed, 917 insertions(+) create mode 100644 images/body-bg.jpg create mode 100644 images/download-button.png create mode 100644 images/github-button.png create mode 100644 images/header-bg.jpg create mode 100644 images/highlight-bg.jpg create mode 100644 images/sidebar-bg.jpg create mode 100644 index.html create mode 100644 javascripts/main.js create mode 100644 params.json create mode 100644 stylesheets/print.css create mode 100644 stylesheets/pygment_trac.css create mode 100644 stylesheets/stylesheet.css diff --git a/images/body-bg.jpg b/images/body-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e0f861ba5b4fe8f3cd97b1ac83dea17a97a357a GIT binary patch literal 3188 zcmaJ>30M=?7QQo+NkS4r5JAO-F`^(s79cDU%wPaFP+TY!5rQE=iX<@vS=?r(mF6h-Rfsx05m!(aHa zYQg*$No8ke3$lF#T79Ze92gil%;D|rWwr3i%+(l@a=bK|Q(iKJsxp;&wa%c{YOrC( zq?Ot%LonYO>0c>i=w8wOW3B#X7#aEhO*1lv3ot^PX;`9q9q&I9XD-Xtsf0^Znc6J9 zQe`!tG7Q#9<$6_;L91V;)vkJ3#i%r`L7SPT)nW3bewe%1M<5z0p2$Ze5o8E_#gZ4b z^bv|AQg5+TB(gr!G0Z(ONvYNhW2cXhM@CBLX)+B-8l`GpXfWUEPM}sNOT$A#L&Lp& zy!|EeaIrW{JUcYRCoIfY;_oe&NPNTPFR`IoWmbktV|a;8evS2cD|WbVGIUnYp(?$4 zjVd`@ug$LXRZJr>bh`Ced?-yVzjtyrNo7~yai{H-fqZdqGxc=@Wwt;(w@QE9BB zp|{R}qrOa_B)W5Z(E*l^wy z2tg2(hT72SHnwaVwyho4Dt2}wMlU{`zqB`TuQUqHlfbAi~9;>9U7!AnBtbX3>6145Lr)!w#a#b$!Vi(Hd@7lx#tv-W@=Ns=NY@`d?QMRi7K-A*ZS?QS_aVSRv;ypG4+ z?cFkKJ8j(chhV8&K|jw`+j)oi6LU6_ASGvYq@eRF0_J1U-u^Ac_ygyg#2NXX07! z_bK4BKj21p^{73@QT0taPk%F99$`?-Df|x-f1?lbID<*C)ocRH!) zAqA@?u*<|PPL1bc5qTcO&ztx7gB4BdsMX)XG*7S9FnF}D)##Xy-m$sYkK284hc@YB za1(1S;!TR-IUdI*ZS94hYkxI4d8N>1%-jZcBY?0oSY9&QD3N!Z=cvxF?oWCl<8R7OxoMpbc}l zL-l}BSa=_ve>R@lSHax((34#nJEnwOv$~osf*ng+&3FWIj5C(8d(p*~_iCIcP!*ri z!HK46v`RO5^nDsH4XR}oEYi6i3E#}z3L2bAMMi5gVssc=cb~R*p<>2$=<+guxbGZg zQW00c>l7$(h^{a>hw#i!5D2`n~gv(`EK$(l3CNl&mFZj*g&lmd_-n%I{ws&5nsj;Hi@2cC`IN4>bF@ zB0i-IdyhV^k-6E0jMpe<47Q|iuM#2K&kkYWk9WQHeF05Ih^va}C25cF-5XwroL2yn{ef{jk;fCm zc|X-MKUq!@lOJLb>sqq21X}edD1f_w+_Axpd6?0KEMQNh>@Mv4h%vM<8|vsMLC8+x zx%L4hs|C72MbH_Bx`WA0`@9i+Y%}I`k-b|HZ}uS$?#|evv)^t*RA`<+W1a4RdRmjn zvwHyjvURMAYou^bC4*I)B$iJvM_2= a0v2=O8*;~w+wK-QqIt&}ZG8~S%|8KWPLbRI literal 0 HcmV?d00001 diff --git a/images/download-button.png b/images/download-button.png new file mode 100644 index 0000000000000000000000000000000000000000..df3f09a63a211e698b43cfdbd51a1f3c2c6c4b96 GIT binary patch literal 31731 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 literal 0 HcmV?d00001 diff --git a/images/github-button.png b/images/github-button.png new file mode 100644 index 0000000000000000000000000000000000000000..efe07f9ad2d7b2b1cf47139223cb874ef2ee51dd GIT binary patch literal 3219 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 wM@^Z%c#pr@F5B46h4YIV^>|0=nv8djYW_Vxb5~ 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 G(W(sMe`~M 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 DGStm7 literal 0 HcmV?d00001 diff --git a/images/sidebar-bg.jpg b/images/sidebar-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..42890fe73838b8dd1116757bc048d8bc6eed6e29 GIT binary patch literal 3200 zcma)62~bpL67K&UbAbbcfJaoGg9<9l1vBU<_^W_NL`MYFB*Z}&4rPvoK?c&#wanjHu2A2%e>9mAl<8vsUY<))bXE z=h`&IPP^7q^_UE9w8!kRyX-c15$Ca2I;zc{boG7bW^o--Yt`I+6Ziad_1I8U zZdQ(k8}F>LaYju_a618vPH)ia#K)AZPc<7&W;0nN~k?RdK$ zuC3ZxQ&nse&ErF0mw9}Zt;p@H%5yp^A63y(?sPk=%bhN6{0tM9s87-8?iWv&qBCmj znpC~S3Q6>1K@7{vq_PNwA|hI;R6f@K-;1CCDjDjAQW~j%QXyJ}g3V9{=z%=B zD-g?2v<#sqng^>$Kn$Wnn~(O8YM_4X^rAm_Kc<))EB{RY&CnI4K7Lm9J81A*2&a)4 zl~%zRxO;I8i^Ja+I3?+oXHnIYS~$IdShSY-Cejg+zV-Aa;pV&W9UijZ3K3ITi#kB> zT10?t9PJ&o#Fu_v{#u6=D^4NXKryl7LBKm0yO7@^X%Oz*PQK7DV#8-pbAc+ST0qH8 zrrgjpmD&tQdLI_M0KtTYgE@~mMX3TkEZ(PAo5QJFv98FZYgTky? z6X3?zET7O9E6Aizb#dB{s(l$>%2+;j=QSpP@Hp5|m86m;~~hb{f(TfK#a z2k}%siGlnxMDji?#>xB1-Y@vH774xfasj54Irz+9BoySwX);Pz$|<8*y)KJ{hGFD$#VIlFXh0z`ROeu)t4vP3X5I%iFe8 zCgl_4C=s2a_w<05cotnEx!zo1C3fBI)vP?f5iSdTPP@XU1bWKQz!Lgez!J_}q+Tun z69l?W%*NNRZlu~(al-+&G3%{hl?!3m?5&b4d26^yy2K87uajt&8WQN$O$Fo!%W1F< zJK&AuT%IHM$n|NyNa`fdQr?)@|KI|wR&U1qWS?yLdJIRqK3dmfKsy=sGmfGm&jJ$= zm+(g~US7Tr0;Sz23nXvN-*a9;yOeK#g&M#Vh=Z8bH&MQ?7bHporJiGwwUrCJGxzz} zgM3WP@!TE2k_K$|B@e0=8whtC*w($`w&Vln<#*|mdn1`bQiu8y5MJ0yC9~D3I>K%+z^fn?&Tux* z8gcKHM)pjHq!!RDrfH&*O9QrD)<})?u0Ho7-?w3vFzXJy_oH}#{xDp}`XY|P4u6PgcjJ*KwZ+wZ-!W*2-fB!T?A z$W;d_+#uvS=$gjIKQmdxv5 zQKdXwnCVhqq{ z95pa9tYH_`8a^VXjV#;B4?MmePqwh=B-SJ{Xyv))pMAzrWAZHNi7_)eSY(eP=& zPxyxb0AF?4jY8js?FV*9dG%SLzJscyPk85)Q!kMKFs;g$@RwcFztMB^7NjKj>C-rp zI&B^9K#365NZ&x41-|aEckQ`ZeH(U(_)FLfYuqjJ{N-44hXU7gn}Cn#l+0YVBh&~# zTaH?(otQx{l5M(Z2E}0YwDvR5{!p8j zCP}u;Hw?ia4&`Ej&m@W+OMS{WAS_lKbq}GnpU)QS#4AJ!YWM=ml;V$;wGc~uT4eM` zt0}S98@E_eKY0aiEg~gU9xP~7@CiOe6IytUuHj>8tKrw#?L9J@gD}b(QNVOa^7{}g z18dtQA9hmt@#`e8AMU}|U5>?E-$MU)es)gh(pdJh&9H2R|F0Iok`NhAOkdzVxS#A7 zsQJ-a>iNq(a^fmK{8zFM=-PpIV2?`GgWiE&z&*zbIvuvbg%RXs+ z+O0Nn^T-R}w8jGSZ)y`tgYCzyL(|aycI7Imbj3T?+65c9UUNud6dpIonQ zq0A1uXeC?2tGD`P?lNE0DumswVapJ>?k1kRj61Jxv<&m+rwi|Ilyr;tsY}5u`c)*P za?Iwt?aJnwNtCyjl5Pw1v<_IM_ytFumjVnSRp+E}r{3C$+TOf^wNEAE(Oc*gOKDco zyu54*Sv_kPb=}8F(SC~p?g`b4v3nCdorcwS=Ujk`lc|HdnC#l;k)U8MfaHjE@B(z0 z6R%R~m{Vl&aaBAQn~ReWUJ5a`o?QRl5St_gbr(qgekG5-ei(BSH|+P$lC>Y>E%9oE z-{`=(yYm#%!&kC?@W)klQg@(*@xxVX44%ft%%gtlkX*q@5@FFNgS)JYr*mP}9KkkS zWE_?+Ci4yogL6j`YZxC9i1=V$QJwc@DGs~4QZ4Mw6I9c`iMiZc!JI=rNqbA|McNx@ zRestT@xk0d+wsrdL171BT|J4qNc$kMCmzQ4jP%jTzR~K5aalj1W*NHM1Z21+nIM?Z MjbhoBxZpqk3)=H0UjP6A literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 000000000..2cfd8172e --- /dev/null +++ b/index.html @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + sqlmap by sqlmapproject + + + +
+
+

sqlmap

+

Automatic SQL injection and database takeover tool

+ View project onGitHub +
+
+ +
+
+
+

Introduction

+ +

sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester and a broad range of switches lasting from database fingerprinting, over data fetching from the database, to accessing the underlying file system and executing commands on the operating system via out-of-band connections.

+ +

Features

+ +
    +
  • Full support for MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase and SAP MaxDB database management systems.
  • +
  • Full support for six SQL injection techniques: boolean-based blind, time-based blind, error-based, UNION query, stacked queries and out-of-band.
  • +
  • Support to directly connect to the database without passing via a SQL injection, by providing DBMS credentials, IP address, port and database name.
  • +
  • Support to enumerate database users, users' password hashes, users' privileges, users' roles, databases, tables and columns.
  • +
  • Automatic recognition of password hashes format and support to crack them with a dictionary-based attack.
  • +
  • Support to dump database tables entirely, a range of entries or specific columns as per user's choice. The user can also choose to dump only a range of characters from each column's entry.
  • +
  • Support to search for specific database names, specific tables across all databases or specific columns across all databases' tables. This is useful, for instance, to identify tables containing custom application credentials where relevant columns' names contain string like name and pass.
  • +
  • Support to download and upload any file from the database server underlying file system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.
  • +
  • Support to execute arbitrary commands and retrieve their standard output on the database server underlying operating system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.
  • +
  • Support to establish an out-of-band stateful TCP connection between the attacker machine and the database server underlying operating system. This channel can be an interactive command prompt, a Meterpreter session or a graphical user interface (VNC) session as per user's choice.
  • +
  • Support for database process' user privilege escalation via Metasploit's Meterpreter getsystem command.
  • +

Download

+ +

You can download the latest tarball by clicking here.

+ +

Preferably, you can download sqlmap by cloning the Git repository:

+ +
git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
+
+ +

This is strongly recommended before reporting any bug to the mailing list.

+ +

Documentation

+ +
    +
  • sqlmap user's manual.
  • +
  • sqlmap ChangeLog.
  • +
  • +SQL injection: Not only AND 1=1 slides presented by Bernardo at the 2nd Digital Security Forum in Lisbon (Portugal) on June 27, 2009.
  • +
  • +Advanced SQL injection to operating system full control whitepaper and slides presented by Bernardo at Black Hat Europe 2009 in Amsterdam (The Netherlands) on April 16, 2009.
  • +
  • +Expanding the control over the operating system from the database slides presented by Bernardo at SOURCE Conference 2009 in Barcelona (Spain) on September 21, 2009.
  • +
  • +Got database access? Own the network! slides presented by Bernardo at AthCon 2010 in Athens (Greece) on June 3, 2010.
  • +
  • +sqlmap - security development in python slides presented by Miroslav at EuroPython 2011 in Firenze (Italy) on June 23, 2011.
  • +
  • +It all starts with the ' (SQL injection from attacker's point of view) slides presented by Miroslav at FSec - FOI Security Symposium in Varazdin (Croatia) on September 23, 2011.
  • +
  • +DNS exfiltration using sqlmap slides and accompaining whitepaper titled Data Retrieval over DNS in SQL Injection Attacks presented by Miroslav at PHDays 2012 in Moscow (Russia) on May 31, 2012.
  • +

Demo

+ +

+ +

Watch more videos on (YouTube)[http://www.youtube.com/inquisb#g/u].

+ +

Mailing list

+ +

The sqlmap-users@lists.sourceforge.net mailing list is the preferred way to ask questions, report bugs, suggest new features and discuss with other users, contributors and the developers. To subscribe use the online web form. +The mailing list is archived online on SourceForge, Gmane and is available also via Gmane RSS feed.

+ +

Developers

+ +

Bernardo Damele A. G. - @inquisb
Miroslav Stampar - @stamparm

+ +

You can contact the development team by writing to dev@sqlmap.org.

+ +

Contribute

+ +

We are constantly seeking for people who can write some clean Python code, are up to do security research, know about web application security, database assessment and takeover, software refactoring and are motivated to join the development team.

+ +

If this sounds interesting to you, send us your pull requests!

+ +

Donate

+ +

sqlmap is the result of numerous hours of passionated work from a small team of computer security enthusiasts. If you appreciated our work and you want to see sqlmap kept being developed, please consider making a small donation to our efforts.

+ +

License

+ +

sqlmap is released under the terms of the General Public License v2.
+sqlmap is copyrighted by its developers.

+
+ + +
+
+ + + + + + \ No newline at end of file diff --git a/javascripts/main.js b/javascripts/main.js new file mode 100644 index 000000000..d8135d37b --- /dev/null +++ b/javascripts/main.js @@ -0,0 +1 @@ +console.log('This would be the main JS file.'); diff --git a/params.json b/params.json new file mode 100644 index 000000000..09276b0f8 --- /dev/null +++ b/params.json @@ -0,0 +1 @@ +{"tagline":"Automatic SQL injection and database takeover tool","body":"# Introduction\r\n\r\nsqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester and a broad range of switches lasting from database fingerprinting, over data fetching from the database, to accessing the underlying file system and executing commands on the operating system via out-of-band connections.\r\n\r\n# Features\r\n\r\n* Full support for **MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase and SAP MaxDB** database management systems.\r\n* Full support for six SQL injection techniques: **boolean-based blind, time-based blind, error-based, UNION query, stacked queries and out-of-band**.\r\n* Support to **directly connect to the database** without passing via a SQL injection, by providing DBMS credentials, IP address, port and database name.\r\n* Support to enumerate **database users, users' password hashes, users' privileges, users' roles, databases, tables and columns**.\r\n* Automatic recognition of password hashes format and support to **crack them with a dictionary-based attack**.\r\n* Support to **dump database tables** entirely, a range of entries or specific columns as per user's choice. The user can also choose to dump only a range of characters from each column's entry.\r\n* Support to **search for specific database names, specific tables across all databases or specific columns across all databases' tables**. This is useful, for instance, to identify tables containing custom application credentials where relevant columns' names contain string like name and pass.\r\n* Support to **download and upload any file** from the database server underlying file system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.\r\n* Support to **execute arbitrary commands and retrieve their standard output** on the database server underlying operating system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.\r\n* Support to **establish an out-of-band stateful TCP connection between the attacker machine and the database server** underlying operating system. This channel can be an interactive command prompt, a Meterpreter session or a graphical user interface (VNC) session as per user's choice.\r\n* Support for **database process' user privilege escalation** via Metasploit's Meterpreter `getsystem` command.\r\n\r\n# Download\r\n\r\nYou can download the latest tarball by clicking [here](https://github.com/sqlmapproject/sqlmap/tarball/master).\r\n\r\nPreferably, you can download sqlmap by cloning the [Git](https://github.com/sqlmapproject/sqlmap) repository:\r\n```\r\ngit clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev\r\n```\r\n\r\nThis is strongly recommended before reporting any bug to the [mailing list](#mailing-list).\r\n\r\n# Documentation\r\n\r\n* sqlmap [user's manual](https://github.com/sqlmapproject/sqlmap/raw/master/doc/README.pdf).\r\n* sqlmap [ChangeLog](https://raw.github.com/sqlmapproject/sqlmap/master/doc/ChangeLog).\r\n* *SQL injection: Not only AND 1=1* [slides](http://www.slideshare.net/inquis/sql-injection-not-only-and-11-updated) presented by Bernardo at the 2nd Digital Security Forum in Lisbon (Portugal) on June 27, 2009.\r\n* *Advanced SQL injection to operating system full control* [whitepaper](http://www.slideshare.net/inquis/advanced-sql-injection-to-operating-system-full-control-whitepaper-4633857) and [slides](http://www.slideshare.net/inquis/advanced-sql-injection-to-operating-system-full-control-slides) presented by Bernardo at [Black Hat Europe 2009](https://www.blackhat.com/html/bh-europe-09/bh-eu-09-main.html) in Amsterdam (The Netherlands) on April 16, 2009.\r\n* *Expanding the control over the operating system from the database* [slides](http://www.slideshare.net/inquis/expanding-the-control-over-the-operating-system-from-the-database) presented by Bernardo at [SOURCE Conference](http://www.sourceconference.com/archive/) 2009 in Barcelona (Spain) on September 21, 2009.\r\n* *Got database access? Own the network!* [slides](http://www.slideshare.net/inquis/ath-con-2010bernardodamelegotdbownnet) presented by Bernardo at [AthCon 2010](http://www.athcon.org/archive.php) in Athens (Greece) on June 3, 2010.\r\n* *sqlmap - security development in python* [slides](http://www.slideshare.net/stamparm/euro-python-2011miroslavstamparsqlmapsecuritydevelopmentinpython) presented by Miroslav at [EuroPython 2011](http://ep2011.europython.eu/) in Firenze (Italy) on June 23, 2011.\r\n* *It all starts with the ' (SQL injection from attacker's point of view)* [slides](http://www.slideshare.net/stamparm/f-sec-2011miroslavstamparitallstartswiththesinglequote-9311238) presented by Miroslav at [FSec - FOI Security Symposium](http://fsec.foi.hr/) in Varazdin (Croatia) on September 23, 2011.\r\n* *DNS exfiltration using sqlmap* [slides](http://www.slideshare.net/stamparm/dns-exfiltration-using-sqlmap-13163281) and accompaining [whitepaper](http://www.slideshare.net/stamparm/ph-days-2012miroslavstampardataretrievaloverdnsinsqlinjectionattackspaper) titled *Data Retrieval over DNS in SQL Injection Attacks* presented by Miroslav at [PHDays 2012](http://www.phdays.com/) in Moscow (Russia) on May 31, 2012.\r\n\r\n# Demo\r\n\r\n

\r\n\r\nWatch more videos on (YouTube)[http://www.youtube.com/inquisb#g/u].\r\n\r\n# Mailing list\r\n\r\nThe `sqlmap-users@lists.sourceforge.net` mailing list is the preferred way to ask questions, report bugs, suggest new features and discuss with other users, [contributors](https://github.com/sqlmapproject/sqlmap/blob/master/doc/THANKS) and the [developers](#developers). To subscribe use the [online web form](https://lists.sourceforge.net/lists/listinfo/sqlmap-users).\r\nThe mailing list is archived online on [SourceForge](http://sourceforge.net/mailarchive/forum.php?forum_name=sqlmap-users), [Gmane](http://news.gmane.org/gmane.comp.security.sqlmap) and is available also via Gmane [RSS feed](http://rss.gmane.org/messages/complete/gmane.comp.security.sqlmap).\r\n\r\n# Developers\r\n\r\n[Bernardo Damele A. G.](mailto:bernardo@sqlmap.org) - [@inquisb](https://twitter.com/inquisb)
\r\n[Miroslav Stampar](mailto:miroslav@sqlmap.org) - [@stamparm](https://twitter.com/stamparm)\r\n\r\nYou can contact the development team by writing to `dev@sqlmap.org`.\r\n\r\n# Contribute\r\n\r\nWe are constantly seeking for people who can write some clean Python code, are up to do security research, know about web application security, database assessment and takeover, software refactoring and are motivated to join the development team.\r\n\r\nIf this sounds interesting to you, send us your [pull requests](https://github.com/sqlmapproject/sqlmap/pulls)!\r\n\r\n# Donate\r\n\r\nsqlmap is the result of numerous hours of passionated work from a small team of computer security enthusiasts. If you appreciated our work and you want to see sqlmap kept being developed, please consider making a small donation to our efforts.\r\n\r\n# License\r\n\r\nsqlmap is released under the terms of the [General Public License v2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
\r\nsqlmap is copyrighted by its [developers](#developers).","name":"sqlmap","google":"UA-5076660-1","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file diff --git a/stylesheets/print.css b/stylesheets/print.css new file mode 100644 index 000000000..541695bfd --- /dev/null +++ b/stylesheets/print.css @@ -0,0 +1,226 @@ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +body { + font-size: 13px; + line-height: 1.5; + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + color: #000; +} + +a { + color: #d5000d; + font-weight: bold; +} + +header { + padding-top: 35px; + padding-bottom: 10px; +} + +header h1 { + font-weight: bold; + letter-spacing: -1px; + font-size: 48px; + color: #303030; + line-height: 1.2; +} + +header h2 { + letter-spacing: -1px; + font-size: 24px; + color: #aaa; + font-weight: normal; + line-height: 1.3; +} +#downloads { + display: none; +} +#main_content { + padding-top: 20px; +} + +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; + color: #222; + margin-bottom: 30px; + font-size: 12px; +} + +code { + padding: 0 3px; +} + +pre { + border: solid 1px #ddd; + padding: 20px; + overflow: auto; +} +pre code { + padding: 0; +} + +ul, ol, dl { + margin-bottom: 20px; +} + + +/* COMMON STYLES */ + +table { + width: 100%; + border: 1px solid #ebebeb; +} + +th { + font-weight: 500; +} + +td { + border: 1px solid #ebebeb; + text-align: center; + font-weight: 300; +} + +form { + background: #f2f2f2; + padding: 20px; + +} + + +/* GENERAL ELEMENT TYPE STYLES */ + +h1 { + font-size: 2.8em; +} + +h2 { + font-size: 22px; + font-weight: bold; + color: #303030; + margin-bottom: 8px; +} + +h3 { + color: #d5000d; + font-size: 18px; + font-weight: bold; + margin-bottom: 8px; +} + +h4 { + font-size: 16px; + color: #303030; + font-weight: bold; +} + +h5 { + font-size: 1em; + color: #303030; +} + +h6 { + font-size: .8em; + color: #303030; +} + +p { + font-weight: 300; + margin-bottom: 20px; +} + +a { + text-decoration: none; +} + +p a { + font-weight: 400; +} + +blockquote { + font-size: 1.6em; + border-left: 10px solid #e9e9e9; + margin-bottom: 20px; + padding: 0 0 0 30px; +} + +ul li { + list-style: disc inside; + padding-left: 20px; +} + +ol li { + list-style: decimal inside; + padding-left: 3px; +} + +dl dd { + font-style: italic; + font-weight: 100; +} + +footer { + margin-top: 40px; + padding-top: 20px; + padding-bottom: 30px; + font-size: 13px; + color: #aaa; +} + +footer a { + color: #666; +} + +/* MISC */ +.clearfix:after { + clear: both; + content: '.'; + display: block; + visibility: hidden; + height: 0; +} + +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} \ No newline at end of file diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css new file mode 100644 index 000000000..c6a6452d2 --- /dev/null +++ b/stylesheets/pygment_trac.css @@ -0,0 +1,69 @@ +.highlight { background: #ffffff; } +.highlight .c { color: #999988; font-style: italic } /* Comment */ +.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.highlight .k { font-weight: bold } /* Keyword */ +.highlight .o { font-weight: bold } /* Operator */ +.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #aa0000 } /* Generic.Error */ +.highlight .gh { color: #999999 } /* Generic.Heading */ +.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #555555 } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */ +.highlight .gt { color: #aa0000 } /* Generic.Traceback */ +.highlight .kc { font-weight: bold } /* Keyword.Constant */ +.highlight .kd { font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #009999 } /* Literal.Number */ +.highlight .s { color: #d14 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .ni { color: #800080 } /* Name.Entity */ +.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ +.highlight .nn { color: #555555 } /* Name.Namespace */ +.highlight .nt { color: #000080 } /* Name.Tag */ +.highlight .nv { color: #008080 } /* Name.Variable */ +.highlight .ow { font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #009999 } /* Literal.Number.Float */ +.highlight .mh { color: #009999 } /* Literal.Number.Hex */ +.highlight .mi { color: #009999 } /* Literal.Number.Integer */ +.highlight .mo { color: #009999 } /* Literal.Number.Oct */ +.highlight .sb { color: #d14 } /* Literal.String.Backtick */ +.highlight .sc { color: #d14 } /* Literal.String.Char */ +.highlight .sd { color: #d14 } /* Literal.String.Doc */ +.highlight .s2 { color: #d14 } /* Literal.String.Double */ +.highlight .se { color: #d14 } /* Literal.String.Escape */ +.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ +.highlight .si { color: #d14 } /* Literal.String.Interpol */ +.highlight .sx { color: #d14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #d14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #008080 } /* Name.Variable.Class */ +.highlight .vg { color: #008080 } /* Name.Variable.Global */ +.highlight .vi { color: #008080 } /* Name.Variable.Instance */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ + +.type-csharp .highlight .k { color: #0000FF } +.type-csharp .highlight .kt { color: #0000FF } +.type-csharp .highlight .nf { color: #000000; font-weight: normal } +.type-csharp .highlight .nc { color: #2B91AF } +.type-csharp .highlight .nn { color: #000000 } +.type-csharp .highlight .s { color: #A31515 } +.type-csharp .highlight .sc { color: #A31515 } diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css new file mode 100644 index 000000000..b3b9707ed --- /dev/null +++ b/stylesheets/stylesheet.css @@ -0,0 +1,479 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* LAYOUT STYLES */ +body { + font-size: 15px; + line-height: 1.5; + background: #fafafa url(../images/body-bg.jpg) 0 0 repeat; + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + font-weight: 400; + color: #666; +} + +a { + color: #2879d0; +} +a:hover { + color: #2268b2; +} + +header { + padding-top: 40px; + padding-bottom: 40px; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + background: #2e7bcf url(../images/header-bg.jpg) 0 0 repeat-x; + border-bottom: solid 1px #275da1; +} + +header h1 { + letter-spacing: -1px; + font-size: 72px; + color: #fff; + line-height: 1; + margin-bottom: 0.2em; + width: 540px; +} + +header h2 { + font-size: 26px; + color: #9ddcff; + font-weight: normal; + line-height: 1.3; + width: 540px; + letter-spacing: 0; +} + +.inner { + position: relative; + width: 940px; + margin: 0 auto; +} + +#content-wrapper { + border-top: solid 1px #fff; + padding-top: 30px; +} + +#main-content { + width: 690px; + float: left; +} + +#main-content img { + max-width: 100%; +} + +aside#sidebar { + width: 200px; + padding-left: 20px; + min-height: 504px; + float: right; + background: transparent url(../images/sidebar-bg.jpg) 0 0 no-repeat; + font-size: 12px; + line-height: 1.3; +} + +aside#sidebar p.repo-owner, +aside#sidebar p.repo-owner a { + font-weight: bold; +} + +#downloads { + margin-bottom: 40px; +} + +a.button { + width: 134px; + height: 58px; + line-height: 1.2; + font-size: 23px; + color: #fff; + padding-left: 68px; + padding-top: 22px; + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; +} +a.button small { + display: block; + font-size: 11px; +} +header a.button { + position: absolute; + right: 0; + top: 0; + background: transparent url(../images/github-button.png) 0 0 no-repeat; +} +aside a.button { + width: 138px; + padding-left: 64px; + display: block; + background: transparent url(../images/download-button.png) 0 0 no-repeat; + margin-bottom: 20px; + font-size: 21px; +} + +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; + color: #222; + margin-bottom: 30px; + font-size: 13px; +} + +code { + background-color: #f2f8fc; + border: solid 1px #dbe7f3; + padding: 0 3px; +} + +pre { + padding: 20px; + background: #fff; + text-shadow: none; + overflow: auto; + border: solid 1px #f2f2f2; +} +pre code { + color: #2879d0; + background-color: #fff; + border: none; + padding: 0; +} + +ul, ol, dl { + margin-bottom: 20px; +} + + +/* COMMON STYLES */ + +hr { + height: 1px; + line-height: 1px; + margin-top: 1em; + padding-bottom: 1em; + border: none; + background: transparent url('../images/hr.png') 0 0 no-repeat; +} + +table { + width: 100%; + border: 1px solid #ebebeb; +} + +th { + font-weight: 500; +} + +td { + border: 1px solid #ebebeb; + text-align: center; + font-weight: 300; +} + +form { + background: #f2f2f2; + padding: 20px; + +} + + +/* GENERAL ELEMENT TYPE STYLES */ + +#main-content h1 { + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 2.8em; + letter-spacing: -1px; + color: #474747; +} + +#main-content h1:before { + content: "/"; + color: #9ddcff; + padding-right: 0.3em; + margin-left: -0.9em; +} + +#main-content h2 { + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 22px; + font-weight: bold; + margin-bottom: 8px; + color: #474747; +} +#main-content h2:before { + content: "//"; + color: #9ddcff; + padding-right: 0.3em; + margin-left: -1.5em; +} + +#main-content h3 { + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 18px; + font-weight: bold; + margin-top: 24px; + margin-bottom: 8px; + color: #474747; +} + +#main-content h3:before { + content: "///"; + color: #9ddcff; + padding-right: 0.3em; + margin-left: -2em; +} + +#main-content h4 { + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 15px; + font-weight: bold; + color: #474747; +} + +h4:before { + content: "////"; + color: #9ddcff; + padding-right: 0.3em; + margin-left: -2.8em; +} + +#main-content h5 { + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 14px; + color: #474747; +} +h5:before { + content: "/////"; + color: #9ddcff; + padding-right: 0.3em; + margin-left: -3.2em; +} + +#main-content h6 { + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: .8em; + color: #474747; +} +h6:before { + content: "//////"; + color: #9ddcff; + padding-right: 0.3em; + margin-left: -3.7em; +} + +p { + margin-bottom: 20px; +} + +a { + text-decoration: none; +} + +p a { + font-weight: 400; +} + +blockquote { + font-size: 1.6em; + border-left: 10px solid #e9e9e9; + margin-bottom: 20px; + padding: 0 0 0 30px; +} + +ul li { + list-style: disc inside; + padding-left: 20px; +} + +ol li { + list-style: decimal inside; + padding-left: 3px; +} + +dl dd { + font-style: italic; + font-weight: 100; +} + +footer { + background: transparent url('../images/hr.png') 0 0 no-repeat; + margin-top: 40px; + padding-top: 20px; + padding-bottom: 30px; + font-size: 13px; + color: #aaa; +} + +footer a { + color: #666; +} +footer a:hover { + color: #444; +} + +/* MISC */ +.clearfix:after { + clear: both; + content: '.'; + display: block; + visibility: hidden; + height: 0; +} + +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} + +/* #Media Queries +================================================== */ + +/* Smaller than standard 960 (devices and browsers) */ +@media only screen and (max-width: 959px) {} + +/* Tablet Portrait size to standard 960 (devices and browsers) */ +@media only screen and (min-width: 768px) and (max-width: 959px) { + .inner { + width: 740px; + } + header h1, header h2 { + width: 340px; + } + header h1 { + font-size: 60px; + } + header h2 { + font-size: 30px; + } + #main-content { + width: 490px; + } + #main-content h1:before, + #main-content h2:before, + #main-content h3:before, + #main-content h4:before, + #main-content h5:before, + #main-content h6:before { + content: none; + padding-right: 0; + margin-left: 0; + } +} + +/* All Mobile Sizes (devices and browser) */ +@media only screen and (max-width: 767px) { + .inner { + width: 93%; + } + header { + padding: 20px 0; + } + header .inner { + position: relative; + } + header h1, header h2 { + width: 100%; + } + header h1 { + font-size: 48px; + } + header h2 { + font-size: 24px; + } + header a.button { + background-image: none; + width: auto; + height: auto; + display: inline-block; + margin-top: 15px; + padding: 5px 10px; + position: relative; + text-align: center; + font-size: 13px; + line-height: 1; + background-color: #9ddcff; + color: #2879d0; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; + } + header a.button small { + font-size: 13px; + display: inline; + } + #main-content, + aside#sidebar { + float: none; + width: 100% ! important; + } + aside#sidebar { + background-image: none; + margin-top: 20px; + border-top: solid 1px #ddd; + padding: 20px 0; + min-height: 0; + } + aside#sidebar a.button { + display: none; + } + #main-content h1:before, + #main-content h2:before, + #main-content h3:before, + #main-content h4:before, + #main-content h5:before, + #main-content h6:before { + content: none; + padding-right: 0; + margin-left: 0; + } +} + +/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ +@media only screen and (min-width: 480px) and (max-width: 767px) {} + +/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ +@media only screen and (max-width: 479px) {}