From f0e7345b5593e20472e67c495d56edf45975e5f7 Mon Sep 17 00:00:00 2001 From: mattes Date: Tue, 10 Feb 2015 21:29:51 +0100 Subject: [PATCH 01/69] initial developermail doc --- .gitignore | 1 - Dockerfile | 2 +- README.md | 102 +------- build/fonts/icomoon.eot | Bin 0 -> 2780 bytes build/fonts/icomoon.svg | 18 ++ build/fonts/icomoon.ttf | Bin 0 -> 2616 bytes build/fonts/icomoon.woff | Bin 0 -> 2816 bytes build/images/logo.png | Bin 0 -> 4796 bytes build/images/navbar.png | Bin 0 -> 2790 bytes build/index.html | 275 ++++++++++++++++++++++ build/javascripts/all.js | 128 ++++++++++ build/javascripts/all_nosearch.js | 72 ++++++ build/javascripts/app/lang.js | 16 ++ build/javascripts/app/search.js | 1 + build/javascripts/app/toc.js | 1 + build/javascripts/lib/energize.js | 1 + build/javascripts/lib/jquery.highlight.js | 45 ++++ build/javascripts/lib/jquery.tocify.js | 13 + build/javascripts/lib/jquery_ui.js | 5 + build/javascripts/lib/lunr.js | 57 +++++ build/stylesheets/icon-font.css | 1 + build/stylesheets/normalize.css | 1 + build/stylesheets/print.css | 1 + build/stylesheets/screen.css | 1 + build/stylesheets/syntax.css | 1 + build/stylesheets/variables.css | 0 fugu.yaml | 20 ++ source/index.md | 2 +- 28 files changed, 670 insertions(+), 94 deletions(-) create mode 100755 build/fonts/icomoon.eot create mode 100644 build/fonts/icomoon.svg create mode 100755 build/fonts/icomoon.ttf create mode 100755 build/fonts/icomoon.woff create mode 100644 build/images/logo.png create mode 100644 build/images/navbar.png create mode 100644 build/index.html create mode 100644 build/javascripts/all.js create mode 100644 build/javascripts/all_nosearch.js create mode 100644 build/javascripts/app/lang.js create mode 100644 build/javascripts/app/search.js create mode 100644 build/javascripts/app/toc.js create mode 100644 build/javascripts/lib/energize.js create mode 100644 build/javascripts/lib/jquery.highlight.js create mode 100644 build/javascripts/lib/jquery.tocify.js create mode 100644 build/javascripts/lib/jquery_ui.js create mode 100644 build/javascripts/lib/lunr.js create mode 100644 build/stylesheets/icon-font.css create mode 100644 build/stylesheets/normalize.css create mode 100644 build/stylesheets/print.css create mode 100644 build/stylesheets/screen.css create mode 100644 build/stylesheets/syntax.css create mode 100644 build/stylesheets/variables.css create mode 100644 fugu.yaml diff --git a/.gitignore b/.gitignore index f6fc8c00b25..e0eda9b90d1 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,6 @@ test/tmp test/version_tmp tmp *.DS_STORE -build/ .cache # YARD artifacts diff --git a/Dockerfile b/Dockerfile index 2908508ca42..6a719ac4ce6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM ubuntu:trusty RUN apt-get update -RUN apt-get install -yq ruby ruby-dev build-essential +RUN apt-get install -yq git ruby ruby-dev build-essential RUN gem install --no-ri --no-rdoc bundler ADD Gemfile /app/Gemfile ADD Gemfile.lock /app/Gemfile.lock diff --git a/README.md b/README.md index df59c94f7f2..b93776cdd50 100644 --- a/README.md +++ b/README.md @@ -1,98 +1,18 @@ -Slate -======== +Developermail Docs +================== -[![Build Status](https://travis-ci.org/tripit/slate.svg?branch=master)](https://travis-ci.org/tripit/slate) [![Dependency Status](https://gemnasium.com/tripit/slate.png)](https://gemnasium.com/tripit/slate) +see https://github.com/tripit/slate -Slate helps you create beautiful API documentation. Think of it as an intelligent, responsive documentation template for your API. -Screenshot of Example Documentation created with Slate +```bash +# build docker image +fugu build -*The example above was created with Slate. Check it out at [tripit.github.io/slate](http://tripit.github.io/slate).* +# start server +fugu run server -Features ------------- +# build docs +fugu run build +``` -* **Clean, intuitive design** — with Slate, the description of your API is on the left side of your documentation, and all the code examples are on the right side. Inspired by [Stripe's](https://stripe.com/docs/api) and [Paypal's](https://developer.paypal.com/webapps/developer/docs/api/) API docs. Slate is responsive, so it looks great on tablets, phones, and even print. -* **Everything on a single page** — gone are the days where your users had to search through a million pages to find what they wanted. Slate puts the entire documentation on a single page. We haven't sacrificed linkability, though. As you scroll, your browser's hash will update to the nearest header, so linking to a particular point in the documentation is still natural and easy. - -* **Slate is just Markdown** — when you write docs with Slate, you're just writing Markdown, which makes it simple to edit and understand. Everything is written in Markdown — even the code samples are just Markdown code blocks! - -* **Write code samples in multiple languages** — if your API has bindings in multiple programming languages, you easily put in tabs to switch between them. In your document, you'll distinguish different languages by specifying the language name at the top of each code block, just like with Github Flavored Markdown! - -* **Out-of-the-box syntax highlighting** for [almost 60 languages](http://rouge.jayferd.us/demo), no configuration required. - -* **Automatic, smoothly scrolling table of contents** on the far left of the page. As you scroll, it displays your current position in the document. It's fast, too. We're using Slate at TripIt to build documentation for our new API, where our table of contents has over 180 entries. We've made sure that the performance remains excellent, even for larger documents. - -* **Let your users update your documentation for you** — by default, your Slate-generated documentation is hosted in a public Github repository. Not only does this mean you get free hosting for your docs with Github Pages, but it also makes it's simple for other developers to make pull requests to your docs if they find typos or other problems. Of course, if you don't want to, you're welcome to not use Github and host your docs elsewhere! - -Getting starting with Slate is super easy! Simply fork this repository, and then follow the instructions below. Or, if you'd like to check out what Slate is capable of, take a look at the [sample docs](http://tripit.github.io/slate). - - - -Getting Started with Slate ------------------------------- - -### Prerequisites - -You're going to need: - - - **Linux or OS X** — Windows may work, but is unsupported. - - **Ruby, version 1.9.3 or newer** - - **Bundler** — If Ruby is already installed, but the `bundle` command doesn't work, just run `gem install bundler` in a terminal. - -### Getting Set Up - - 1. Fork this repository on Github. - 2. Clone *your forked repository* (not our original one) to your hard drive with `git clone https://github.com/YOURUSERNAME/slate.git` - 3. `cd slate` - 4. Install all dependencies: `bundle install` - 5. Start the test server: `bundle exec middleman server` - -You can now see the docs at . Whoa! That was fast! - -Now that Slate is all set up your machine, you'll probably want to learn more about [editing Slate markdown](https://github.com/tripit/slate/wiki/Markdown-Syntax), or [how to publish your docs](https://github.com/tripit/slate/wiki/Deploying-Slate). - -Examples of Slate in the Wild ---------------------------------- - -* [Travis-CI's API docs](http://docs.travis-ci.com/api/) -* [Mozilla's localForage docs](http://mozilla.github.io/localForage/) -* [Mozilla Recroom](http://mozilla.github.io/recroom/) -* [ChaiOne Gameplan API docs](http://chaione.github.io/gameplanb2b/#introduction) -* [Drcaban's Build a Quine tutorial](http://drcabana.github.io/build-a-quine/#introduction) -* [PricePlow API docs](https://www.priceplow.com/api/documentation) -* [Emerging Threats API docs](http://apidocs.emergingthreats.net/) -* [Appium docs](http://appium.io/slate/en/master) -* [Golazon Developer](http://developer.golazon.com) -* [Dwolla API docs](https://docs.dwolla.com/) -* [RozpisyZapasu API docs](http://www.rozpisyzapasu.cz/dev/api/) -* [Codestar Framework Docs](http://codestarframework.com/documentation/) - -(Feel free to add your site to this list in a pull request!) - -Need Help? Found a bug? --------------------- - -Just [submit a issue](https://github.com/tripit/slate/issues) to the Slate Github if you need any help. And, of course, feel free to submit pull requests with bug fixes or changes. - - -Contributors --------------------- - -Slate was built by [Robert Lord](http://lord.io) while at [TripIt](http://tripit.com). - -Thanks to the following people who have submitted major pull requests: - -- [@chrissrogers](https://github.com/chrissrogers) -- [@bootstraponline](https://github.com/bootstraponline) - -Also, thanks to [Sauce Labs](http://saucelabs.com) for helping sponsor the project. - -Special Thanks --------------------- -- [Middleman](https://github.com/middleman/middleman) -- [jquery.tocify.js](https://github.com/gfranko/jquery.tocify.js) -- [middleman-syntax](https://github.com/middleman/middleman-syntax) -- [middleman-gh-pages](https://github.com/neo/middleman-gh-pages) -- [Font Awesome](http://fortawesome.github.io/Font-Awesome/) diff --git a/build/fonts/icomoon.eot b/build/fonts/icomoon.eot new file mode 100755 index 0000000000000000000000000000000000000000..212835a5243aabdf5b8a4d029f41b6471ac38ff8 GIT binary patch literal 2780 zcmb7GOKg)z5T5xTyT9#VC&aG=+lg#!Bb7Sf-w&cZh$juMw=f1@e6zY-yV!UfISWx3^2#b0=6(JX<3)`3udZ+1 z2zdcI%Fdy+`clmom**k>3gglB+Ko+Ehiyl#KfY00Up^MUdmrNmSYvXtesv3eqWR-W zPNqS8i)_di`4TuMoA^16&}T}oqcPm>ZgWJBBtLB6#}8o*W;ztqn7oZsD~7SIl7`8m zBfx%gAj9%B{zx|dZZyCn(B#qF_-)i`&hP{PObo4%XGQZ+6xB&@$@aRh<|$9Ie2;f1 zPOsA&M8m~cG!~77rH~?%&gb&Ea;aLWR@~uoDW7|d(^4ck9E(nIv05qTtGmodti{}! zc8keWDp_==r`%#HnM@VksjO*ORnu!#%P?7(rghXZO&hqZ7(2cy88 z=s=|c6~nYH+%XL_^A1M%lec%;|1d40NGaRTP32`imx1qN9ChJ1;z67`%C3OCSe0D; z%CUc^L8pgNC|1={P5>F^!r)*mK5{&3iJW0sX2|Cc1^oeG2ls|TO%);hKHGL28}f~w z(&%snd z51ACBJ-*&QPLx8kjt|mtkfjNR!+<%N3vu3qA`%{B>A`5Ma+Fc%fR%F9+hvIg*)8^1 z#XAH%Z8S@Cq@@0G$Vw;B%a4jiLAtWJ( zJEQ1~PJO4^dlkkvN1xbyM;!m{`;PV*=#{><{rew2jgpH`tE!w#T2+pMx@O#>s+N}@ zg1SAbD&pFlz?np)tlH8Mx9$0U+2jI>Nrmq>M368I|fR7dW3y7mRXg7NQhXf<}g)ZreV;&k76; zh*assfdeN>DTVi@$C7*4u!OxLhK7cu5bVeozwRq!!r@F|-!4A5VhhXQJ;|~3-rcDR zi-Dnl1-tgPbXW)p6Jo1#qB79B2jf58zWY&V`Z)zu5fJ^d_Q!l1H>1Sm?A3@8;2u-= zsV*AO&pK{9B_|rtNJDk)@x7OKy(*OaxOY?Z2?zO8eqwxJd~G~6Ppir319VBh30hu& z*=j-hw&?@osibEp_kwh?$u~joZ_*a%GfmpYLn_#$1xYG4X+Isn6AZ5b%Lk6KscCIf z)7qw{wM|WHo0=AwJK3D8ZFWD-`aj~jbS^K|*X#9-o;P9ld$4N)f?mdpP`wUov;};T Y#_0lW11@;)$~Rl@%4SYmiR>l*0j~m3Z~y=R literal 0 HcmV?d00001 diff --git a/build/fonts/icomoon.svg b/build/fonts/icomoon.svg new file mode 100644 index 00000000000..24493587d38 --- /dev/null +++ b/build/fonts/icomoon.svg @@ -0,0 +1,18 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/fonts/icomoon.ttf b/build/fonts/icomoon.ttf new file mode 100755 index 0000000000000000000000000000000000000000..360b3d751620cc106382cda4c2d548656db343f7 GIT binary patch literal 2616 zcmb7GO>7%Q6n<}iX4ZCUCyoD-+D>FQb|s42?%H0W{4_%SNvZ%+p$OCpaMLuYl*AED z)#idK#E}EyS`G+t=1^7Y1q2e;N^t5W94aC8fJ)UvdxM&9b~dpS+#=T5_cw38dGF1e zoe&dIjBb)iN8ft;i0c&p`T>^j@qVQjUPV%8eqB{lul&eRVyYz)o79|dJQ~E4#u!NjXsp^zuRrt2r>mS zw|^hD!WqE;2ou9A5uj)ru>J91$fX3`Vv`i*+U-!`T)JI1X^&&?MKdDokq@Z3T^UvRyNG1IVo zGkAQ{JRXgJd8%Md`krZW|(vR{h930 z$uUcm4a+hUk!T_wjR`xxKamJsgos9L+i`4+uk9&LP_XL?r~~`cP%7OQn-U^tSc6hJ zG8&aqI0OBIG3_Uuh(PsVl(FbOe^2Ft8g|#GOcV6ZPJQ-PDW!_jwXx=22esQTF2@+Q z=m28BphL^$G{1?>3pTz}sk=Q>ufqRJ?WDx>fU0VhNf|o&_1<}+6~aC~OeZ1MjxYiS zEz5F(D*+X$j7A4-)cs(WB|2og*)xsc5b&&BtJ(Ij?MPAcgmfTwEM84p zTD>y*Q3|haMTE>sX6d?$W~GQ&^$>?yA%OyYMjewJb50$UsbjTVfw_>Y9h=f$3*Fy3 zFSRWdscBj5m<%Y+o}Wnt6n#6z8P&ZyuZrm8<>P3h?fEv4z;B+826d z^jJAFpAphxX3UsHN>-#4v5?y=Kw!0`ID?dg9PG}bJ3IBA>g-h#-yD5nD_wc~ckEj_ zX0VsW+KKOf#57DEKCP;AN=4NW6R*h0IZlsb0!*iz%UlfcH zE*K4enyXwHD^`tqZ5l%bxWtVTKiRY+(TEir=o5w7sY8cO)e4I5FOKB*v0({&Nem1O zNFmsf&wo8oEhUqs>Va*3c*z!)!Ta(f#r@k;6&HO2F$=i%rgT^c2?(*#Jy8Md+=JPl zZ{7JYG5L&QstJgGS@~nO!^13bIR`zW25^t5`&2g#&-li8VxCo#@%GVW{XfA@6fo{Qar!Qdfhi8FzG)4}r$gCB?!@JlpG V7ikl8E&zTbTs+8Xr-;3Te*iBhKi>cV literal 0 HcmV?d00001 diff --git a/build/fonts/icomoon.woff b/build/fonts/icomoon.woff new file mode 100755 index 0000000000000000000000000000000000000000..9a213b112669b937374d2cd9030609d6041169ea GIT binary patch literal 2816 zcmcImYiv|S6rS7N+fGYqLA!*9nxbfoCbm?HV9=Oaiv~zZm?VEYdGMnOxroO^Rm?S9y@IrKCwXxLr53$_KYtrnEL8raqVBW$liUm?hM zLAut^)ZPi(KIp}Q@+HQaYC8p940@(ZxtmyXZ4>;;KFXN1R#5rkuP?L&_qQXai&#_W zk`FV??`M)E@y5DfQ!v=fqzu@ek3W>`3a9)m3*vlsCF5z|3;tz(M>aCoWPWlpn&qnI3N84Zo|&f~okbb?L{PaHWu zGJb3nY-A$(74eBgJU~CnWa@@yfFdgKYLYe5bPYq-NaeIeCQOKF5b?7ln`A^H5yOZW zWODslV8E%6$=$CR*g||G$tnQ_5Wvv5oxlP;f?2H6P2xY0jJ;`)2uEa5XI_BL3LI05 z-0}rD@I}{k2%M^AQX?9GJedFbGVN3cC>B1{^KtK?t`80j9T+@dy+=E!A=I{0RU(R| z@GpZh(BXp!!Z3$F8X6j~2dyD@9 zIrX^t5H7l*qo>3lsg%4_pYV8 zy>i?u-R(Ufa(G(g@U&M8xaZchg~)j#U1H=88kVLN!>YeDVvu~@PIA|8+j`edkBoM&8%*e0K<^b86t(v@Ma&l5OO~WSq zG)uL3>rq*?!bX_Fq-cu5YqoAZBcn-NOITAC-r6QBimqTmI1;v0K3P*!BP*&dwuIe& z8f}wJ1qT4sGAxUqIWxIcwiL^?*oJBG(W5fDz#^MFzH|3Bx<8%10DU2ot=o#}InK+7 zreP5Q!iG?IJ;`o>s){Hn%&DwQSVVw|szKniM<(RKQoT_4G*Owb2vAjo!Y4>}12j{i z(DZc5Vp(Pc(eo>Z?|*Cwbmd(gcd)=K#QpIq?sLutXaLDIdF$wGuejZl$WHJLKh3qF zf4rpAK_pYb-C-qF1tq`8;_l&Z)v9V z(sEi(rKMoYFO|-~bTT$RruW!b#;+&l%dyayemE98tdE6aJTc|)Ksi-S(Rn&QH3ddf zRa8#pRaNE0^WxEhIR58z-KT^PSD4LY+_)R1dfb=mQ{Nf3g!M!J_mIRhV9t1nvCCP~ z#Uy^xMfdi`y+1n&T`2<`H##c-7qbPpG1uUmgI7ideiAFZoR$1LnS_l&X09wHe_QHL z?Qkc+Bqm{1zKa6&_chy!-pXG$!{&)282fqOAL31t`X;YRH{g?a%XrgbKNG&<_J$eq zjWm+03YI%7K@iSLr|wK1%BJ+LJob4CPhxqg?c%6BwmxO|L0*xP{gAh$WSK33=4CDu zuZfbBoWq`Ebs`7;Y*+-QCwrKl>|uJchv~^4rYC1&@7mN}53>=tLDmEcvS#)M+s)e8 ze%9z}g={5z2Cuj|YtqlKIYw56jeA%J+sA4FFn4Y}=9*pLTGo#5E>_5PvUkB>a}R$# Lb+{W9*qz5e&1UyY literal 0 HcmV?d00001 diff --git a/build/images/logo.png b/build/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..24e509952c50a098b4736d2d1fbdb5e99558f3f4 GIT binary patch literal 4796 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 literal 0 HcmV?d00001 diff --git a/build/images/navbar.png b/build/images/navbar.png new file mode 100644 index 0000000000000000000000000000000000000000..32e70e14fb45cbf6a64b00115c78c4b8dfee4981 GIT binary patch literal 2790 zcmVX+uL$Nkc;* zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DXM^`x7XQc?|s+0 z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W@ZFO_(THK{JlMynW#v{v-a*T zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0 z#IJ1jr{*iW$(WZWsE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45( zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r zY+jPY;tVGXi|p)da{-@gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3 z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d z2hboi2K@njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H z!jlL<$Or?`Mpy_N@kBz9SR?@vA#0H$qyni$nvf2p8@Y{0k#Xb$28W?xm>3qu8RLgp zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s) z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U@8Tyei%l?}87(bMRt(A-)QK9Dg3) zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9 z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@>R;lZ?BJkMlIuMhw8ApiF&yDYW2hFJ?fJhni{?u z85&g@mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz zt39n_sIypSqfWEV6J3%nTQ@-4i zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^ z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK@D(EFW1Z zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$ zF$X<|c!#|X_tWYh)GZit z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz z&kJ6Nm#vN_+kA5{dW4@^Vjg_`q%qU1ULk& z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|iPIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~ zLQ&zpEzVmGY{hI9Z0+4-0xS$$Xe-OToc?Y*V;rTcf_ zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl% z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX= znVPf8XG_nK&J~=SIiGia@9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh- zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@ff5{d09oy s0SF*~00IagfB*srAW-p%v-2&13B1J&Fs!yb1poj507*qoM6N<$f*vtlK>z>% literal 0 HcmV?d00001 diff --git a/build/index.html b/build/index.html new file mode 100644 index 00000000000..83cb7d27467 --- /dev/null +++ b/build/index.html @@ -0,0 +1,275 @@ + + + + + + + API Reference + + + + + + + + + + + + + NAV + + + + +
+
+
+

Introduction1

+ +

Welcome to the Kittn API! You can use our API to access Kittn API endpoints, which can get information on various cats, kittens, and breeds in our database.

+ +

We have language bindings in Shell, Ruby, and Python! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

+ +

This example API documentation page was created with Slate. Feel free to edit it and use it as a base for your own API’s documentation.

+ +

Authentication

+ +
+

To authorize, use this code:

+
+
require 'kittn'
+
+api = Kittn::APIClient.authorize!('meowmeowmeow')
+
+
import kittn
+
+api = kittn.authorize('meowmeowmeow')
+
+
# With shell, you can just pass the correct header with each request
+curl "api_endpoint_here"
+  -H "Authorization: meowmeowmeow"
+
+ +
+

Make sure to replace meowmeowmeow with your API key.

+
+ +

Kittn uses API keys to allow access to the API. You can register a new Kittn API key at our developer portal.

+ +

Kittn expects for the API key to be included in all API requests to the server in a header that looks like the following:

+ +

Authorization: meowmeowmeow

+ + + +

Kittens

+ +

Get All Kittens

+
require 'kittn'
+
+api = Kittn::APIClient.authorize!('meowmeowmeow')
+api.kittens.get
+
+
import kittn
+
+api = kittn.authorize('meowmeowmeow')
+api.kittens.get()
+
+
curl "http://example.com/api/kittens"
+  -H "Authorization: meowmeowmeow"
+
+ +
+

The above command returns JSON structured like this:

+
+
[
+  {
+    "id": 1,
+    "name": "Fluffums",
+    "breed": "calico",
+    "fluffiness": 6,
+    "cuteness": 7
+  },
+  {
+    "id": 2,
+    "name": "Isis",
+    "breed": "unknown",
+    "fluffiness": 5,
+    "cuteness": 10
+  }
+]
+
+ +

This endpoint retrieves all kittens.

+ +

HTTP Request

+ +

GET http://example.com/kittens

+ +

Query Parameters

+ + + + + + + + + + + + + + + + + + +
ParameterDefaultDescription
include_catsfalseIf set to true, the result will also include cats.
availabletrueIf set to false, the result will include kittens that have already been adopted.
+ + + +

Get a Specific Kitten

+
require 'kittn'
+
+api = Kittn::APIClient.authorize!('meowmeowmeow')
+api.kittens.get(2)
+
+
import kittn
+
+api = kittn.authorize('meowmeowmeow')
+api.kittens.get(2)
+
+
curl "http://example.com/api/kittens/3"
+  -H "Authorization: meowmeowmeow"
+
+ +
+

The above command returns JSON structured like this:

+
+
{
+  "id": 2,
+  "name": "Isis",
+  "breed": "unknown",
+  "fluffiness": 5,
+  "cuteness": 10
+}
+
+ +

This endpoint retrieves a specific kitten.

+ + + +

HTTP Request

+ +

GET http://example.com/kittens/<ID>

+ +

URL Parameters

+ + + + + + + + + + + +
ParameterDescription
IDThe ID of the cat to retrieve
+ +

Errors

+ + + +

The Kittn API uses the following error codes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Error CodeMeaning
400Bad Request – Your request sucks
401Unauthorized – Your API key is wrong
403Forbidden – The kitten requested is hidden for administrators only
404Not Found – The specified kitten could not be found
405Method Not Allowed – You tried to access a kitten with an invalid method
406Not Acceptable – You requested a format that isn’t json
410Gone – The kitten requested has been removed from our servers
418I’m a teapot
429Too Many Requests – You’re requesting too many kittens! Slown down!
500Internal Server Error – We had a problem with our server. Try again later.
503Service Unavailable – We’re temporarially offline for maintanance. Please try again later.
+ +
+
+
+ shell + ruby + python +
+
+
+ + diff --git a/build/javascripts/all.js b/build/javascripts/all.js new file mode 100644 index 00000000000..28b6ad3f3f0 --- /dev/null +++ b/build/javascripts/all.js @@ -0,0 +1,128 @@ +!function(){if("ontouchstart"in window){var t,e,i,n,o,s,r={};t=function(t,e){return Math.abs(t[0]-e[0])>5||Math.abs(t[1]-e[1])>5},e=function(t){this.startXY=[t.touches[0].clientX,t.touches[0].clientY],this.threshold=!1},i=function(e){return this.threshold?!1:void(this.threshold=t(this.startXY,[e.touches[0].clientX,e.touches[0].clientY]))},n=function(e){if(!this.threshold&&!t(this.startXY,[e.changedTouches[0].clientX,e.changedTouches[0].clientY])){var i=e.changedTouches[0],n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),n.simulated=!0,e.target.dispatchEvent(n)}},o=function(t){var e=Date.now(),i=e-r.time,n=t.clientX,o=t.clientY,a=[Math.abs(r.x-n),Math.abs(r.y-o)],l=s(t.target,"A")||t.target,c=l.nodeName,h="A"===c,u=window.navigator.standalone&&h&&t.target.getAttribute("href");return r.time=e,r.x=n,r.y=o,(!t.simulated&&(500>i||1500>i&&a[0]<50&&a[1]<50)||u)&&(t.preventDefault(),t.stopPropagation(),!u)?!1:(u&&(window.location=l.getAttribute("href")),void(l&&l.classList&&(l.classList.add("energize-focus"),window.setTimeout(function(){l.classList.remove("energize-focus")},150))))},s=function(t,e){for(var i=t;i!==document.body;){if(!i||i.nodeName===e)return i;i=i.parentNode}return null},document.addEventListener("touchstart",e,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchend",n,!1),document.addEventListener("click",o,!0)}}(),/* + * jQuery Highlight plugin + * + * Based on highlight v3 by Johann Burkard + * http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html + * + * Code a little bit refactored and cleaned (in my humble opinion). + * Most important changes: + * - has an option to highlight only entire words (wordsOnly - false by default), + * - has an option to be case sensitive (caseSensitive - false by default) + * - highlight element tag and class names can be specified in options + * + * Usage: + * // wrap every occurrance of text 'lorem' in content + * // with (default options) + * $('#content').highlight('lorem'); + * + * // search for and highlight more terms at once + * // so you can save some time on traversing DOM + * $('#content').highlight(['lorem', 'ipsum']); + * $('#content').highlight('lorem ipsum'); + * + * // search only for entire word 'lorem' + * $('#content').highlight('lorem', { wordsOnly: true }); + * + * // don't ignore case during search of term 'lorem' + * $('#content').highlight('lorem', { caseSensitive: true }); + * + * // wrap every occurrance of term 'ipsum' in content + * // with + * $('#content').highlight('ipsum', { element: 'em', className: 'important' }); + * + * // remove default highlight + * $('#content').unhighlight(); + * + * // remove custom highlight + * $('#content').unhighlight({ element: 'em', className: 'important' }); + * + * + * Copyright (c) 2009 Bartek Szopka + * + * Licensed under MIT license. + * + */ +jQuery.extend({highlight:function(t,e,i,n){if(3===t.nodeType){var o=t.data.match(e);if(o){var s=document.createElement(i||"span");s.className=n||"highlight";var r=t.splitText(o.index);r.splitText(o[0].length);var a=r.cloneNode(!0);return s.appendChild(a),r.parentNode.replaceChild(s,r),1}}else if(1===t.nodeType&&t.childNodes&&!/(script|style)/i.test(t.tagName)&&(t.tagName!==i.toUpperCase()||t.className!==n))for(var l=0;la;a++)for(o in r[a])s=r[a][o],r[a].hasOwnProperty(o)&&s!==e&&(i[o]=t.isPlainObject(s)?t.isPlainObject(i[o])?t.widget.extend({},i[o],s):t.widget.extend({},s):s);return i},t.widget.bridge=function(i,o){var s=o.prototype.widgetFullName||i;t.fn[i]=function(r){var a="string"==typeof r,l=n.call(arguments,1),c=this;return r=!a&&l.length?t.widget.extend.apply(null,[r].concat(l)):r,this.each(a?function(){var n,o=t.data(this,s);return o?t.isFunction(o[r])&&"_"!==r.charAt(0)?(n=o[r].apply(o,l),n!==o&&n!==e?(c=n&&n.jquery?c.pushStack(n.get()):n,!1):e):t.error("no such method '"+r+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; attempted to call method '"+r+"'")}:function(){var e=t.data(this,s);e?e.option(r||{})._init():t.data(this,s,new o(r,this))}),c}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{disabled:!1,create:null},_createWidget:function(e,n){n=t(n||this.defaultElement||this)[0],this.element=t(n),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),n!==this&&(t.data(n,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===n&&this.destroy()}}),this.document=t(n.style?n.ownerDocument:n.document||n),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,n){var o,s,r,a=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(a={},o=i.split("."),i=o.shift(),o.length){for(s=a[i]=t.widget.extend({},this.options[i]),r=0;o.length-1>r;r++)s[o[r]]=s[o[r]]||{},s=s[o[r]];if(i=o.pop(),n===e)return s[i]===e?null:s[i];s[i]=n}else{if(n===e)return this.options[i]===e?null:this.options[i];a[i]=n}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,n,o){var s,r=this;"boolean"!=typeof i&&(o=n,n=i,i=!1),o?(n=s=t(n),this.bindings=this.bindings.add(n)):(o=n,n=this.element,s=this.widget()),t.each(o,function(o,a){function l(){return i||r.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?r[a]:a).apply(r,arguments):e}"string"!=typeof a&&(l.guid=a.guid=a.guid||l.guid||t.guid++);var c=o.match(/^(\w+)\s*(.*)$/),h=c[1]+r.eventNamespace,u=c[2];u?s.delegate(u,h,l):n.bind(h,l)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?n[t]:t).apply(n,arguments)}var n=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,n){var o,s,r=this.options[e];if(n=n||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],s=i.originalEvent)for(o in s)o in i||(i[o]=s[o]);return this.element.trigger(i,n),!(t.isFunction(r)&&r.apply(this.element[0],[i].concat(n))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(n,o,s){"string"==typeof o&&(o={effect:o});var r,a=o?o===!0||"number"==typeof o?i:o.effect||i:e;o=o||{},"number"==typeof o&&(o={duration:o}),r=!t.isEmptyObject(o),o.complete=s,o.delay&&n.delay(o.delay),r&&t.effects&&t.effects.effect[a]?n[e](o):a!==e&&n[a]?n[a](o.duration,o.easing,s):n.queue(function(i){t(this)[e](),s&&s.call(n[0]),i()})}})}(jQuery),/* jquery Tocify - v1.8.0 - 2013-09-16 +* http://www.gregfranko.com/jquery.tocify.js/ +* Copyright (c) 2013 Greg Franko; Licensed MIT +* Modified lightly by Robert Lord to fix a bug I found, +* and also so it adds ids to headers +* also because I want height caching, since the +* height lookup for h1s and h2s was causing serious +* lag spikes below 30 fps */ +function(t){"use strict";t(window.jQuery,window,document)}(function(t,e,i,n){"use strict";var o="tocify",s="tocify-focus",r="tocify-hover",a="tocify-hide",l="tocify-header",c="."+l,h="tocify-subheader",u="."+h,d="tocify-item",f="."+d,p="tocify-extend-page",g="."+p;t.widget("toc.tocify",{version:"1.8.0",options:{context:"body",ignoreSelector:null,selectors:"h1, h2, h3",showAndHide:!0,showEffect:"slideDown",showEffectSpeed:"medium",hideEffect:"slideUp",hideEffectSpeed:"medium",smoothScroll:!0,smoothScrollSpeed:"medium",scrollTo:0,showAndHideOnScroll:!0,highlightOnScroll:!0,highlightOffset:40,theme:"bootstrap",extendPage:!0,extendPageOffset:100,history:!0,scrollHistory:!1,hashGenerator:"compact",highlightDefault:!0},_create:function(){var i=this;i.tocifyWrapper=t(".tocify-wrapper"),i.extendPageScroll=!0,i.items=[],i._generateToc(),i.cachedHeights=[],i.cachedAnchors=[],i._addCSSClasses(),i.webkit=function(){for(var t in e)if(t&&-1!==t.toLowerCase().indexOf("webkit"))return!0;return!1}(),i._setEventHandlers(),t(e).load(function(){i._setActiveElement(!0),t("html, body").promise().done(function(){setTimeout(function(){i.extendPageScroll=!1},0)})})},_generateToc:function(){var e,i,n=this,s=n.options.ignoreSelector;return e=t(this.options.context).find(-1!==this.options.selectors.indexOf(",")?this.options.selectors.replace(/ /g,"").substr(0,this.options.selectors.indexOf(",")):this.options.selectors.replace(/ /g,"")),e.length?(n.element.addClass(o),void e.each(function(e){t(this).is(s)||(i=t("