From 2330357f0e2bd2f6d1c3a2ab10d13a2dded2ac2d Mon Sep 17 00:00:00 2001 From: mtaylor Date: Tue, 16 Apr 2013 06:27:15 -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 | 204 ++++++++--- params.json | 2 +- stylesheets/print.css | 226 ++++++++++++ stylesheets/pygment_trac.css | 117 ++++--- stylesheets/stylesheet.css | 652 +++++++++++++++++++---------------- 11 files changed, 784 insertions(+), 417 deletions(-) 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 stylesheets/print.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 zcmaJ^c|4SB8=e+rin3L*HAYQ1%x1!u9&th#Oa>hvIw~`k zNrkeeBoRl}i8%B{BuR^ulBN1ar~1A>&iUTo^S;mX-0yu|_x0TGegEcR`M2LC0BM05k$vpIAS8fs!pg(DCkQ&T7cg*G)s7=e&*1QG_94O3$T3WGMqAk9GE zF0d>bhZcbGz!AR1lI^U)fjnLa1_q0Wh=4|zK-rvQFocDL#VQ99X)Nr20d`+hWwyqalfTWmM~Z(IRu7)!dH*<-H}NA z|E^5t4{t8dgZ^K=e@o2uiVC5_Jm_3@7>6qRZ~=O&p+YeB96FiD=6JE$!QZp!7RctY zxq<8ukiDlVNFQMWg?~*R+yst>GNC90`dcndU~n`BiNL_&vS9!M=@ZFR25S{-@RgiM z#5l3IJTi+)cfwhNW#OO<1`UJ7;ZayL9BF1|YKK7J5q3DN2_BC^n<4GdXcWQzI~K>L zhB4_Z-ghibh9%hJuqY$}Zf0hN{9Ej5-7rIBk#TemBb-hnaM(=H*Zg1@|ExvE_fJ~> z!qWam%eQkN{t*k4iGi(F!T(gncayBtR+m3&T(!I0@*_2LR+poN!pL z$dQ)?zXYq{wc1M^3f+qIjWaG-;RHCm` zva&{b&v6k*8Xq;@7(KEWo5g-zTW1;3 zKRnyh)58vM_VM*q)OApPDzXuciq0+71-OePegjJ3ZcZBFBR@4bqp-ZJ-$1&Ll-22J z)0)y`Q3O62V{(r#!ix-6#xljZVWJxkthCdShvxYbkNJw}JyK^W#65e^P*Q7%v&I>V zj*1dinpBbvwkbZ~*1A?Z@XRX@9jAD6SnIJ*Y}wn+UPeaWFMa5GeYG*qyV7pp1ydkaF6;mGm@sVDfa|RIYY|2Mhx}+qaB;I|e+_ycc zH?%IX>CzwG-DaaUVK}`Dm#l|r-$<7zc$8exYs6=~*LZS;+3ct1@@x(sPEjE1-o?S5 zyzg5^q}D`-)@d$3pHTNrAQ*Il5q3vPy@43L7%aks2|*o@RX(S%@;y&HfCo8;nn!JQFjhUnSU) z8Jw_}b|BTS=h_Kwdf=_Vav)CucsOOSGSCScbmqQQZ1YE96WMWUt+b#`lf&N|l;US& z&r6N9>8rLr`0&`xzPJIkCUtfUAoinY1G{0i*xk{!qtrbq{Oz!}=)Lm&O3Qtv4lARo zq|3X9CaVPZEA~ZUlI}XEcIYo}I#U`)x?Gf-?s4>j)u&d06lMTa95}ST{X{~p*9piy+~J9-642eM_qg(q|4~xC9(gqUtB(mcR7OEBnj7#^Ch*m9u!}e z@r+faI6+g8ca$^hOEoGoitycGj$cl9%q|7$>8uf|CtQ<8R=JdH`n|4OG~Twkua(^* zoZv9){MV)iblbiiu#Z~~XaRn5v=jSVS#I|N`UcAH9i3}?QDJ^zuhwAavJ2|!?WkoO zQNeTQIs2i(QfH!VLCdMfyg|F&=@M+_$KdL7F6QGa)S3Co&CvZ;9)bsT`xfuaHak<6 z*Tp#`PrG#|OJh($%y*Z@;~k6iGR4WgwJiD!C8jy7E$y+f!M?WgZCBDmU4CwC45kb0 zvNZN+vQ&%_N9)uLM+mt}v)giD1`zSDi0BDF;WLF#tecB>2CoJ4I|tdxhdW{ zzOe8j2wH0W>5$-K!?@~C9_tBt;3d)+Y@4QEjWE)_D7x-lIYRC*SWCBI*ND zYFzNr@?cP5mb$Hm=cV$1#msV)vrTlb8DD2`fiy#A?OpE4V7R?pmhU{xLoY_poYIL~ zzkAEjt07$Pi&yHmww~B-ma0SSHytjiXzBlVd|_=FbuN=q?hd#^I9FB6HW}6Om2Y7q zM^(0Dcte`|%kB<-Ce@C61}zhrUCT{*CWG0~J?BrRZ5Hfc)B8IUD;nOPV%W-EYVs>O zP{Xi2OoDCKehwuxci7m^ix|G~mfDtjMRkI^_)U1mxqkNjwiQ)Tr=YHEI|dRo{~>ry z+OK{3uY%HxPc{k0o6f%(OjFW0r8F9S9kAr=L$XRFFq-~w3!#mF7Jl;W*V^xR1fHnf z(u#1s_j5t_Y}Re~T#|&qFK}DSsv8xXTx+Tk>~prH>F6mT-iG9ay*y^b&bmO647{^U z8EZdW_{@BJxAkP4x&ryRk?z?oz`KA>Ut8k_hq@+JqKdJZpTx%8Ge{_C5cowa%pQed z9KIwW^hvR=0iEY@0Ejx}W}wo)2Zv^&UM|eNA9#1`&dA1W3sbqEGv>hY8W+`6OVXwj z2Dx_f_K8ChEL81i$$40{Lj1zQPFTzrE9rV^cZ0QE|AcykN-<=vm)R=+S{h#2josF> zY}lB#Q{|92{STq=z&&UAq>;?ZfU8lxk?ZRF(whD_o^c`PhA*l&QWrW@+2yo$!;8Dx z&py0PX;-+1-=i6QgXO@!))Syux7DED=JiV zrsFN>kuY}2XCwDxP)fS1P-q*I%l)8oxMPYEn|kXrP#jaN>7>)R^a-9!(rIO8wA=uvbP>jfZBk!jfZk|P1Lrg4$_)G%hxnuCr zn5`+tv|uAMnsPv*N~5vH1t7Vh@L-#-f2oCA_9Q0plrW~>+eokHX@515QxOe-V1=)@ zI+W$s%ID|-1*+ENCAyP=a{H6JOb5&E*SfFd%hkwDEfidS(4(InRT5>F+NhoIxLq-N 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 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 MjbhoBxZpqk3)=H0UjP6A literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 4e87c9e..9795f45 100644 --- a/index.html +++ b/index.html @@ -1,74 +1,168 @@ - - - - - - - - Tim + + + + + + + + + + + Tim by aeolus-incubator +
+
+

Tim

+

Web application for managing virtual images to be deployed in the cloud

+ View project onGitHub +
+
- -
-
- View on GitHub - -

Tim

-

Web application for managing virtual images to be deployed in the cloud

- -
- Download this project as a .zip file - Download this project as a tar.gz file -
-
-
- - -
-
-

Welcome to GitHub Pages.

- -

This automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here using GitHub Flavored Markdown, select a template crafted by a designer, and publish. After your page is generated, you can check out the new branch:

- -
$ cd your_repo_root/repo_name
-$ git fetch origin
-$ git checkout gh-pages
-
+
+
+
+

Tim is a Rails Engine responsible for Cloud image management. It +allows clients to create, delete and upload images to a multitude of +Cloud providers. Tim builds on top of Imagefactory’s cloud +abstraction layer.

-

If you're using the GitHub for Mac, simply sync your repository and you'll see the new branch.

+

Adding the ability for clients to store meta-data (used for searching +and sorting) as well as versioning and support for access control. +Tim wraps all this up in a clean, simply RESTful API.

-

Designer Templates

+

You can read the full presentation here.

-

We've crafted some handsome templates for you to use. Go ahead and continue to layouts to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved if it remained markdown format.

+

Configuration

+ +

Securing Image Factory requests

-

Rather Drive Stick?

+

It is possible to secure Image Factory requests using 2 Legged OAuth. To use 2 +Legged OAuth you must set the OAuth consumer key, consumer secret and url in the +Tim::ImageFactory::Base.config.

-

If you prefer to not use the automatic generator, push a branch named gh-pages to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator written by our own Tom Preston-Werner. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.

+

Example:

+ +
  oauth_config = {:consumer_key => "mock-key",
+                  :consumer_secret => "mock-secret",
+                  :site => "http://localhost:8075/imagefactory/"}
+  Tim::ImageFactory::Base.config = oauth_config
+
+ +

Running Tests

+ +

Build Status

+ +

Tests are run from the project root directory. But are run in the +context of the dummy app located under test/dummy. In order to run +the tests you must first setup dummy app database.

+ +
  rake db:setup; rake -f test/dummy/Rakefile test:prepare
+
+ +

Once you have done this cd to the project root and run the following:

+ +
  rake spec
+
+ +

Running the Dummy app

+ +

This will allow you to runn the commands below to test out the engine +in isolation (if mounted in another application, the main difference +will just be where the engine gets mounted, so adjust your url +accordingly).

+ +

cd test/dummy; rails s

+ +

Generating State Machines Images

+ +

From test/dummy run:

+ +
  rake state_machine:draw FILE=../../app/models/tim/target_image.rb CLASS=Tim::TargetImage
+  rake state_machine:draw FILE=../../app/models/tim/provider_image.rb CLASS=Tim::ProviderImage
+
+ +

Contributing

+ +

We encourage you to contribute to Tim. We are open to new ideas and +features (especially if you offer to implement them!) as well as +{Github issues}[https://github.com/aeolus-incubator/tim/issues/] to point +us at any bugs that may be encountered.

+ +

General

+ +

Features

+ +

Have an idea for a feature you want to implement (or would like us to +consider implementing when time allows)? Simply submit a new +issue[https://github.com/aeolus-incubator/tim/issues/] describing the +feature in sufficient detail to enable someone to consider +implementing it. Ideally this would be in a format focusing on:

+ +
    +
  • Who would be the user of this feature?
  • +
  • How would the feature be used (this could be a workflow, api +example, etc)?
  • +
  • What need does it fill (in other words, why does the user want/need +to do the described task)?
  • +

If you like, you may use the Connextra format, but it is not strictly +required. For reference, that format is:

-

Authors and Contributors

+

In order to [benefit], a [stakeholder] wants to [feature].

+ +

Bug Reporting

-

You can @mention a GitHub username to generate a link to their profile. The resulting <a> element will link to the contributor's GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.

+

While we always strive to not have bug, we realize they will come up, +and appreciate help in identifying them so they can be corrected. If +you believe you have found such a thing, please tell us:

-

Support or Contact

+
    +
  • which version of Tim you're using
  • +
  • which version of Ruby you're using.
  • +
  • How to reproduce it. Bugs with a failing test in a +{pull request}[https://help.github.com/articles/using-pull-requests] get +extra points, though a description and stack trace, if appropriate, +would be a minimum requirement for the issue to receive attention. +(And of course, submitting a pull request with proper tests that also +fixes the bug will get the fix in a release quicker yet!)
  • +

License

-

Having trouble with Pages? Check out the documentation at http://help.github.com/pages or contact support@github.com and we’ll help you sort it out.

-
+

Image Management Engine is released under the MIT license.

+
+ + +
- - - - - + - + \ No newline at end of file diff --git a/params.json b/params.json index 15a2beb..49717d0 100644 --- a/params.json +++ b/params.json @@ -1 +1 @@ -{"name":"Tim","tagline":"Web application for managing virtual images to be deployed in the cloud","body":"### Welcome to GitHub Pages.\r\nThis automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here using GitHub Flavored Markdown, select a template crafted by a designer, and publish. After your page is generated, you can check out the new branch:\r\n\r\n```\r\n$ cd your_repo_root/repo_name\r\n$ git fetch origin\r\n$ git checkout gh-pages\r\n```\r\n\r\nIf you're using the GitHub for Mac, simply sync your repository and you'll see the new branch.\r\n\r\n### Designer Templates\r\nWe've crafted some handsome templates for you to use. Go ahead and continue to layouts to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved if it remained markdown format.\r\n\r\n### Rather Drive Stick?\r\nIf you prefer to not use the automatic generator, push a branch named `gh-pages` to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator written by our own Tom Preston-Werner. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.\r\n\r\n### Authors and Contributors\r\nYou can @mention a GitHub username to generate a link to their profile. The resulting `` element will link to the contributor's GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.\r\n\r\n### Support or Contact\r\nHaving trouble with Pages? Check out the documentation at http://help.github.com/pages or contact support@github.com and we’ll help you sort it out.","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file +{"name":"Tim","tagline":"Web application for managing virtual images to be deployed in the cloud","body":"Tim is a Rails Engine responsible for Cloud image management. It\r\nallows clients to create, delete and upload images to a multitude of\r\nCloud providers. Tim builds on top of Imagefactory’s cloud\r\nabstraction layer.\r\n\r\nAdding the ability for clients to store meta-data (used for searching\r\nand sorting) as well as versioning and support for access control.\r\nTim wraps all this up in a clean, simply RESTful API.\r\n\r\nYou can read the full presentation [here](http://www.aeolusproject.org/docs/presentations/2012-nov-conference/tim.odp).\r\n\r\n## Configuration\r\n\r\n### Securing Image Factory requests\r\n\r\nIt is possible to secure Image Factory requests using 2 Legged OAuth. To use 2\r\nLegged OAuth you must set the OAuth consumer key, consumer secret and url in the\r\nTim::ImageFactory::Base.config.\r\n\r\n#### Example:\r\n```ruby\r\n oauth_config = {:consumer_key => \"mock-key\",\r\n :consumer_secret => \"mock-secret\",\r\n :site => \"http://localhost:8075/imagefactory/\"}\r\n Tim::ImageFactory::Base.config = oauth_config\r\n```\r\n## Running Tests\r\n\r\n[](http://travis-ci.org/aeolus-incubator/tim])\r\n\r\nTests are run from the project root directory. But are run in the\r\ncontext of the dummy app located under test/dummy. In order to run\r\nthe tests you must first setup dummy app database.\r\n\r\n```ruby\r\n rake db:setup; rake -f test/dummy/Rakefile test:prepare\r\n```\r\n\r\nOnce you have done this cd to the project root and run the following:\r\n\r\n```ruby\r\n rake spec\r\n```\r\n\r\n## Running the Dummy app\r\n\r\nThis will allow you to runn the commands below to test out the engine\r\nin isolation (if mounted in another application, the main difference\r\nwill just be where the engine gets mounted, so adjust your url\r\naccordingly).\r\n\r\ncd test/dummy; rails s\r\n\r\n## Generating State Machines Images\r\n\r\nFrom test/dummy run:\r\n\r\n```ruby\r\n rake state_machine:draw FILE=../../app/models/tim/target_image.rb CLASS=Tim::TargetImage\r\n rake state_machine:draw FILE=../../app/models/tim/provider_image.rb CLASS=Tim::ProviderImage\r\n```\r\n\r\n## Contributing\r\n\r\nWe encourage you to contribute to Tim. We are open to new ideas and\r\nfeatures (especially if you offer to implement them!) as well as\r\n{Github issues}[https://github.com/aeolus-incubator/tim/issues/] to point\r\nus at any bugs that may be encountered.\r\n\r\n### General\r\n\r\n* We use {Github issues}[https://github.com/aeolus-incubator/tim/issues/]\r\n to track our features and bugs.\r\n* Want to paste some code or output? Put \\`\\`\\` on a line above and\r\n below your code/output. See {Github documentation's}[https://help.github.com/articles/github-flavored-markdown]\r\n Fenced Code Blocks for details.\r\n* Please use {pull requests}[https://help.github.com/articles/using-pull-requests]\r\n to submit code, whether for implementation of a new feature or for a bug fix.\r\n* If you submit a pull request that doesn't have a test to go with it\r\n there is less chance we will merge it.\r\n\r\n### Features\r\n\r\nHave an idea for a feature you want to implement (or would like us to\r\nconsider implementing when time allows)? Simply submit a new\r\nissue[https://github.com/aeolus-incubator/tim/issues/] describing the\r\nfeature in sufficient detail to enable someone to consider\r\nimplementing it. Ideally this would be in a format focusing on:\r\n\r\n* Who would be the user of this feature?\r\n* How would the feature be used (this could be a workflow, api\r\n example, etc)?\r\n* What need does it fill (in other words, why does the user want/need\r\n to do the described task)?\r\n\r\nIf you like, you may use the Connextra format, but it is not strictly\r\nrequired. For reference, that format is:\r\n\r\nIn order to [benefit], a [stakeholder] wants to [feature].\r\n\r\n### Bug Reporting\r\n\r\nWhile we always strive to not have bug, we realize they will come up,\r\nand appreciate help in identifying them so they can be corrected. If\r\nyou believe you have found such a thing, please tell us:\r\n\r\n* which version of Tim you're using\r\n* which version of Ruby you're using.\r\n* How to reproduce it. Bugs with a failing test in a\r\n {pull request}[https://help.github.com/articles/using-pull-requests] get\r\n extra points, though a description and stack trace, if appropriate,\r\n would be a minimum requirement for the issue to receive attention.\r\n (And of course, submitting a pull request with proper tests that also\r\n fixes the bug will get the fix in a release quicker yet!)\r\n\r\n## License\r\n\r\nImage Management Engine is released under the MIT license.\r\n","google":"","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 0000000..541695b --- /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 index e65cedf..c6a6452 100644 --- a/stylesheets/pygment_trac.css +++ b/stylesheets/pygment_trac.css @@ -1,65 +1,64 @@ -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f0f3f3; } -.highlight .c { color: #0099FF; font-style: italic } /* Comment */ -.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */ -.highlight .k { color: #006699; font-weight: bold } /* Keyword */ -.highlight .o { color: #555555 } /* Operator */ -.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #009999 } /* Comment.Preproc */ -.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */ -.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */ +.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: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */ -.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */ -.highlight .go { color: #AAAAAA } /* Generic.Output */ -.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */ +.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: #003300; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #99CC66 } /* Generic.Traceback */ -.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #006699 } /* Keyword.Pseudo */ -.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */ -.highlight .m { color: #FF6600 } /* Literal.Number */ -.highlight .s { color: #CC3300 } /* Literal.String */ -.highlight .na { color: #330099 } /* Name.Attribute */ -.highlight .nb { color: #336666 } /* Name.Builtin */ -.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */ -.highlight .no { color: #336600 } /* Name.Constant */ -.highlight .nd { color: #9999FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #CC00FF } /* Name.Function */ -.highlight .nl { color: #9999FF } /* Name.Label */ -.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #003333 } /* Name.Variable */ -.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */ +.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: #FF6600 } /* Literal.Number.Float */ -.highlight .mh { color: #FF6600 } /* Literal.Number.Hex */ -.highlight .mi { color: #FF6600 } /* Literal.Number.Integer */ -.highlight .mo { color: #FF6600 } /* Literal.Number.Oct */ -.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */ -.highlight .sc { color: #CC3300 } /* Literal.String.Char */ -.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #CC3300 } /* Literal.String.Double */ -.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */ -.highlight .si { color: #AA0000 } /* Literal.String.Interpol */ -.highlight .sx { color: #CC3300 } /* Literal.String.Other */ -.highlight .sr { color: #33AAAA } /* Literal.String.Regex */ -.highlight .s1 { color: #CC3300 } /* Literal.String.Single */ -.highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */ -.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #003333 } /* Name.Variable.Class */ -.highlight .vg { color: #003333 } /* Name.Variable.Global */ -.highlight .vi { color: #003333 } /* Name.Variable.Instance */ -.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */ +.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 } diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css index 2bd468a..7e3b8f0 100644 --- a/stylesheets/stylesheet.css +++ b/stylesheets/stylesheet.css @@ -1,14 +1,7 @@ -/******************************************************************************* -Slate Theme for GitHub Pages -by Jason Costello, @jsncostello -*******************************************************************************/ - -@import url(pygment_trac.css); - -/******************************************************************************* -MeyerWeb Reset -*******************************************************************************/ - +/* 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, @@ -18,414 +11,469 @@ 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, +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: inherit; - vertical-align: baseline; + 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, +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { - display: block; + display: block; +} +body { + line-height: 1; } - ol, ul { - list-style: none; + list-style: none; } - blockquote, q { + quotes: none; } - -table { - border-collapse: collapse; - border-spacing: 0; +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; } - -a:focus { - outline: none; +table { + border-collapse: collapse; + border-spacing: 0; } -/******************************************************************************* -Theme Styles -*******************************************************************************/ - +/* LAYOUT STYLES */ body { - box-sizing: border-box; - color:#373737; - background: #212121; - font-size: 16px; - font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; - line-height: 1.5; - -webkit-font-smoothing: antialiased; -} - -h1, h2, h3, h4, h5, h6 { - margin: 10px 0; - font-weight: 700; - color:#222222; - font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; - letter-spacing: -1px; -} - -h1 { - font-size: 36px; - font-weight: 700; + 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; } -h2 { - padding-bottom: 10px; - font-size: 32px; - background: url('../images/bg_hr.png') repeat-x bottom; +a { + color: #2879d0; } - -h3 { - font-size: 24px; +a:hover { + color: #2268b2; } -h4 { - font-size: 21px; -} - -h5 { - font-size: 18px; +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; } -h6 { - font-size: 16px; +header h1 { + letter-spacing: -1px; + font-size: 72px; + color: #fff; + line-height: 1; + margin-bottom: 0.2em; + width: 540px; } -p { - margin: 10px 0 15px 0; +header h2 { + font-size: 26px; + color: #9ddcff; + font-weight: normal; + line-height: 1.3; + width: 540px; + letter-spacing: 0; } -footer p { - color: #f2f2f2; +.inner { + position: relative; + width: 940px; + margin: 0 auto; } -a { - text-decoration: none; - color: #007edf; - text-shadow: none; - - transition: color 0.5s ease; - transition: text-shadow 0.5s ease; - -webkit-transition: color 0.5s ease; - -webkit-transition: text-shadow 0.5s ease; - -moz-transition: color 0.5s ease; - -moz-transition: text-shadow 0.5s ease; - -o-transition: color 0.5s ease; - -o-transition: text-shadow 0.5s ease; - -ms-transition: color 0.5s ease; - -ms-transition: text-shadow 0.5s ease; +#content-wrapper { + border-top: solid 1px #fff; + padding-top: 30px; } -#main_content a:hover { - color: #0069ba; - text-shadow: #0090ff 0px 0px 2px; +#main-content { + width: 690px; + float: left; } -footer a:hover { - color: #43adff; - text-shadow: #0090ff 0px 0px 2px; +#main-content img { + max-width: 100%; } -em { - font-style: italic; +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; } -strong { +aside#sidebar p.repo-owner, +aside#sidebar p.repo-owner a { font-weight: bold; } -img { - position: relative; - margin: 0 auto; - max-width: 739px; - padding: 5px; - margin: 10px 0 10px 0; - border: 1px solid #ebebeb; - - box-shadow: 0 0 5px #ebebeb; - -webkit-box-shadow: 0 0 5px #ebebeb; - -moz-box-shadow: 0 0 5px #ebebeb; - -o-box-shadow: 0 0 5px #ebebeb; - -ms-box-shadow: 0 0 5px #ebebeb; +#downloads { + margin-bottom: 40px; } -pre, code { - width: 100%; - color: #222; - background-color: #fff; - - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; - font-size: 14px; - - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - - - +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; } - -pre { - width: 100%; - padding: 10px; - box-shadow: 0 0 10px rgba(0,0,0,.1); - overflow: auto; +a.button small { + display: block; + font-size: 11px; } - -code { - padding: 3px; - margin: 0 3px; - box-shadow: 0 0 10px rgba(0,0,0,.1); +header a.button { + position: absolute; + right: 0; + top: 0; + background: transparent url(../images/github-button.png) 0 0 no-repeat; } - -pre code { +aside a.button { + width: 138px; + padding-left: 64px; display: block; - box-shadow: none; -} - -blockquote { - color: #666; + background: transparent url(../images/download-button.png) 0 0 no-repeat; margin-bottom: 20px; - padding: 0 0 0 20px; - border-left: 3px solid #bbb; + font-size: 21px; } -ul, ol, dl { - margin-bottom: 15px +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color: #222; + margin-bottom: 30px; + font-size: 13px; } -ul li { - list-style: inside; - padding-left: 20px; +code { + background-color: #f2f8fc; + border: solid 1px #dbe7f3; + padding: 0 3px; } -ol li { - list-style: decimal inside; - padding-left: 20px; +pre { + padding: 20px; + background: #fff; + text-shadow: none; + overflow: auto; + border: solid 1px #f2f2f2; } - -dl dt { - font-weight: bold; +pre code { + color: #2879d0; + background-color: #fff; + border: none; + padding: 0; } -dl dd { - padding-left: 20px; - font-style: italic; +ul, ol, dl { + margin-bottom: 20px; } -dl p { - padding-left: 20px; - font-style: italic; -} + +/* COMMON STYLES */ hr { height: 1px; - margin-bottom: 5px; + line-height: 1px; + margin-top: 1em; + padding-bottom: 1em; border: none; - background: url('../images/bg_hr.png') repeat-x center; + background: transparent url('../images/hr.png') 0 0 no-repeat; } table { - border: 1px solid #373737; - margin-bottom: 20px; - text-align: left; - } + width: 100%; + border: 1px solid #ebebeb; +} th { - font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; - padding: 10px; - background: #373737; - color: #fff; - } + font-weight: 500; +} td { - padding: 10px; - border: 1px solid #373737; - } + border: 1px solid #ebebeb; + text-align: center; + font-weight: 300; +} form { background: #f2f2f2; padding: 20px; + } -img { - width: 100%; - max-width: 100%; -} -/******************************************************************************* -Full-Width Styles -*******************************************************************************/ +/* GENERAL ELEMENT TYPE STYLES */ -.outer { - width: 100%; -} +#main-content h1 { + font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif; + font-size: 2.8em; + letter-spacing: -1px; + color: #474747; +} -.inner { - position: relative; - max-width: 640px; - padding: 20px 10px; - margin: 0 auto; +#main-content h1:before { + content: "/"; + color: #9ddcff; + padding-right: 0.3em; + margin-left: -0.9em; } -#forkme_banner { - display: block; - position: absolute; - top:0; - right: 10px; - z-index: 10; - padding: 10px 50px 10px 10px; - color: #fff; - background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%; - font-weight: 700; - box-shadow: 0 0 10px rgba(0,0,0,.5); - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; -} +#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; +} -#header_wrap { - background: #212121; - background: -moz-linear-gradient(top, #373737, #212121); - background: -webkit-linear-gradient(top, #373737, #212121); - background: -ms-linear-gradient(top, #373737, #212121); - background: -o-linear-gradient(top, #373737, #212121); - background: linear-gradient(top, #373737, #212121); +h4:before { + content: "////"; + color: #9ddcff; + padding-right: 0.3em; + margin-left: -2.8em; } -#header_wrap .inner { - padding: 50px 10px 30px 10px; +#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; } -#project_title { - margin: 0; - color: #fff; - font-size: 42px; - font-weight: 700; - text-shadow: #111 0px 0px 10px; +p { + margin-bottom: 20px; } - -#project_tagline { - color: #fff; - font-size: 24px; - font-weight: 300; - background: none; - text-shadow: #111 0px 0px 10px; + +a { + text-decoration: none; } -#downloads { - position: absolute; - width: 210px; - z-index: 10; - bottom: -40px; - right: 0; - height: 70px; - background: url('../images/icon_download.png') no-repeat 0% 90%; +p a { + font-weight: 400; } -.zip_download_link { - display: block; - float: right; - width: 90px; - height:70px; - text-indent: -5000px; - overflow: hidden; - background: url(../images/sprite_download.png) no-repeat bottom left; +blockquote { + font-size: 1.6em; + border-left: 10px solid #e9e9e9; + margin-bottom: 20px; + padding: 0 0 0 30px; } -.tar_download_link { - display: block; - float: right; - width: 90px; - height:70px; - text-indent: -5000px; - overflow: hidden; - background: url(../images/sprite_download.png) no-repeat bottom right; - margin-left: 10px; +ul li { + list-style: disc inside; + padding-left: 20px; } -.zip_download_link:hover { - background: url(../images/sprite_download.png) no-repeat top left; +ol li { + list-style: decimal inside; + padding-left: 3px; } -.tar_download_link:hover { - background: url(../images/sprite_download.png) no-repeat top right; +dl dd { + font-style: italic; + font-weight: 100; } -#main_content_wrap { - background: #f2f2f2; - border-top: 1px solid #111; - border-bottom: 1px solid #111; +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; } -#main_content { - padding-top: 40px; +footer a { + color: #666; +} +footer a:hover { + color: #444; } -#footer_wrap { - background: #212121; +/* 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 +================================================== */ -/******************************************************************************* -Small Device Styles -*******************************************************************************/ +/* Smaller than standard 960 (devices and browsers) */ +@media only screen and (max-width: 959px) {} -@media screen and (max-width: 480px) { - body { - font-size:14px; +/* Tablet Portrait size to standard 960 (devices and browsers) */ +@media only screen and (min-width: 768px) and (max-width: 959px) { + .inner { + width: 740px; } - - #downloads { - display: none; + 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 { - min-width: 320px; - max-width: 480px; + width: 93%; } - - #project_title { - font-size: 32px; + header { + padding: 20px 0; } - - h1 { - font-size: 28px; + header .inner { + position: relative; } - - h2 { + header h1, header h2 { + width: 100%; + } + header h1 { + font-size: 48px; + } + header h2 { font-size: 24px; } - - h3 { - font-size: 21px; + 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; } - - h4 { - font-size: 18px; + header a.button small { + font-size: 13px; + display: inline; } - - h5 { - font-size: 14px; + #main-content, + aside#sidebar { + float: none; + width: 100% ! important; } - - h6 { - font-size: 12px; + aside#sidebar { + background-image: none; + margin-top: 20px; + border-top: solid 1px #ddd; + padding: 20px 0; + min-height: 0; } - - code, pre { - min-width: 320px; - max-width: 480px; - font-size: 11px; + 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) {}