From 1fa82430b0caadb787301f02a1e2e47f3e26377e Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Mon, 15 Feb 2016 11:30:23 -0500 Subject: [PATCH] Finish Chef documentation --- assets/images/icons.png | Bin 37633 -> 38280 bytes assets/images/icons@2x.png | Bin 99456 -> 101069 bytes assets/javascripts/news.json | 4 +- .../templates/pages/about_tmpl.coffee | 5 ++ .../views/pages/sphinx_simple.coffee | 7 +++ assets/stylesheets/application-dark.css.scss | 3 +- assets/stylesheets/application.css.scss | 3 +- assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_chef.scss | 6 +- .../{_opentsdb.scss => _sphinx_simple.scss} | 4 +- lib/docs/core/response.rb | 2 +- lib/docs/core/scraper.rb | 1 + lib/docs/filters/chef/clean_html.rb | 28 ++++++++- lib/docs/filters/chef/entries.rb | 56 +++++++++++++++++- lib/docs/scrapers/chef.rb | 51 +++++++++++----- public/icons/docs/chef/16.png | Bin 749 -> 725 bytes public/icons/docs/chef/16@2x.png | Bin 1600 -> 1593 bytes public/icons/docs/chef/SOURCE | 2 +- 18 files changed, 146 insertions(+), 27 deletions(-) create mode 100644 assets/javascripts/views/pages/sphinx_simple.coffee rename assets/stylesheets/pages/{_opentsdb.scss => _sphinx_simple.scss} (79%) diff --git a/assets/images/icons.png b/assets/images/icons.png index e451327b236ce456a941edee8729e46705e6ead1..ac4af351154796a0eff00a521f224d7b9257fe7f 100644 GIT binary patch delta 8586 zcmV;5A$8t?rUHno0+1sDl~1uHD|CNP5}!#-tVuM+SRpYQO;H%6DZMIv07XT?prSMZ z1r!BEsgWv(4V5CG3`L~dKr9Hh#HbOCC03LUBFwP=y~p7>5=J2_$@`zrZ>?|LbI;j_ zLH*qO?0xQ>D9ESMRYnSR!uN|}dI;R^=j*b17GjGl~ zlQ`!&v*R7+&P=lVxS!9qK_9s$&KbNSe(uoayT{FooA=(_ghj^YyPRfocQ~t&08MnJ z8btajoW5C3!jplf8?yYIL{5KufR`Kut>QpI3a9<)Z5ci^$ikJ9DG=G>JV^nwx7D|3G&3fpGqrZa=% zT%nCtmJ8F&SRyV!aS`^_x9bp{2rn0*a^Cu(s=4bPs}*e^VezLpENquiv;xiyYd(?M z)JJ1No4j?8XbwYQi1q)>b348b_-KqnhSm5xz%2J&`EpCaouOOvZhy`h=@mQaJ*T}} z2Dm3}9pWB8v+(ZFafg2&e7rfma&&Cg_0ho?(LUa~QQ>!}qi`$JR+=r_9=?_XKFc@| z8^nQVe`?D?gr6Lo&X*NHl}sDd$iub}B@~3xK-N8|i$v2d645zfyZZn!;gX1zd$JBC zv4}*|E)vl>YWHA1hza+eNX%lNKR@D=)j5|1;U%|V*xI8cw3mO=ddp+R^%*3#=5u0t zMNVw`ksqFg-BMilm91u4CpQSGUFJ=F=pAQ~jnG#6K*!!72~V6|36O->r2sLZ=p|YU zI%^gOgKE+Gwy6nT?J_E}+hz6U0+HI(r+RQhE7_23$6N}(6kgfFJmBtdve?T3GR?pWO4bq{>9A|3`WkIxK0rDPmgrU?E=wIHBa6Y!^en!aPoZ|M01 zylotTuPX;aePkgonFG~VWa04@8Q7m72cc`^zz4^25;z!=Wd*$L3Kcl_WA**)9s7TB2~;?azl7QT~6&GMw$sA`(`&Id3a4(+&Qt z19}CEn11nMW?VL(=@q*$^}L0-zx9D6l9dG+GUhy3#d(fG)6Y!a|gQZfsdER1G6dxttfA~ zg5N*g5q^JC8Md993|r1lvKr`?G~=B`2jGKcDe%ss{o5l>Do)w`^EW^uj4D$AbWTH3 zx5(dsI$4O181b)(xSv+ z#-GffuOdOr6Xy3Yd5}h)6(tZo{(MSUI-Ls9>GOXVr99}i_#Cr<%?t%*9-RAJfJF;2 zyxK9dvzTy{*)xrU5lk%?xj&4lWQ8)doJj18q%pD)+Unq(mmCTe80ZdNtpiD%o!38; zW9{fcO#B$%85)NJK&@~+e;RLfyR81)cG>B3+o?@`G)6Y!a|V0Fn+|eKwENg4+0rY| zaBF|krLPZ#l&Y8o9#gkYxit2OXP)uu{tjto@7ZTssYm+QCtRFZ9&uXHJ@kZ%Rp{|) zGtnUp-n$hAST75EqB#P8PdRvSUKaRwWZ=RPS=fl4?^p&0?q8OLb#5F;-+=;b;=ta` zk_9M1WFN492qdyD`u@hxUy{b}miU(C(fWT61-KEIMewZ`1&ATmg&kBy7Yu9`F=c6Lei=j2d>S&IlMUZq=J80 zV6nPc!R=v1j{7YWdoRi||IA~D#W2qu)5Qgtw233wutE+RDrMnxo-D)$$iZz4!wJ!H zaI%miOh|a!yCuL6B#81K0f|k5DE}rp?Ypt$;{v>Z37nTS9cXJZw5G52;ta zg2lW!)7bpOkppne_nt#KyzjKn)bFU4#m)=gLv+Oyh`%^KWvtI;8D?7u7@B{fziTp( z0RJ6=BRGNpFAiKOlP3?xQ#pzWayTq~1>AJG$r`e5jd?G%FlnmQdJzf+y?@2S&C zo}2&Y>xA~Hw>kvqi=yj%B2_}!Ets@28A7tl;mOlBAo!&n|BZ=288C)aM`loBhu+Nw z+siQghA^d+%}jZ3jIga;gC8F4F-+SDg* z(*auVZ9Fjz_Fo?j+FLwK+3e#fqrA7k$L* z2~Sw8#sr4efEjU9u0w;2ARWD%FNWEW)f_mwUly_xIB+n91JFDf5;uRzfwS!tC`^$> z4=5{0+xkKhaz#R&uFpSFC!~ZzLY=P9-(M#rEZDWTLx8_NY=q9JZg>LQ4*dkpBt8+A zZYw;%I-r@c5C!GIbn~2dJ zVwZoxJ|KKJ5px;wb;10uDlPu!*hp(m$Cp#T$knEe`WU-m7tK58}Gd&?da z*`6VuJLIA(bWBcx8x!iQ~qQ-m0{|q06dUs zJAq}GFkdq zpr>Nh_kF|EQ=OPP53}BV?zjhxUNFUtC~RwBpT=Gvv~wg|nj=;sAmNFJU`eF$F2vV` z7tC9`fU;g9wZ(tO#4*S%Nq&H9qRGHzDSFHy=iT9}c1qzsFL%)L1hY{-p##1P4IR)Q zLot?O%=#`*9ZSDA7Ou62dh9eE?735s{_zbory4{DD3;wgBM<1^goWtrc-i)#l~@Br zAznHv(+*XW`Ls^FdO{u|)+!!1)>hG>xqm^O?yc_C344EDr|YixB-ROg1j|5mX1S67 z_N5e^H%|@R5W%Vc}m;r|Zt#k0jIy3t5k0 z9-_@G0&kG;h*nWKurlQs82y+D?ukc%vnrvHnFoJ(u~z^^Hh`(_GGr==tC&jCN~Rib zz%*j}OO#A^*-cQAArhb(QM|7+NKC|G&#spEfI%XOi#Wt{rz3{ig`zQfI3aVW*KTbZ z>);@x1Sr!^m5Wik9#iTW-}dK_!aXDUhop7MwN z+~o5<>Zc_44?K=Fn11em@)4^)CBFCHe;uXu;Joom z>4VuTKsNZbP49b;9&zX%W-84GOXW%=fW=e*^JxHFq6&Z+(p2>sP1FDk@!m)cseylO zjeB6A72WlppS=Yc@)OyA1H{Eg-)WGOlM}w9ck<-Pbgmtd+SEs5Wb=Xu*(*@-;QBXb z9#rNXy?x#%=kZBlCaR;OGYY@LsKz9t9NCvBZ1)hNHA!C)aemJ+o8z?5YO+hM-w#o| z2#1JwCE2yrSGmH|#|>3gRZvq?cLjfH9+*h7h5ARvckVv8i~+0V`=Iit(z_S=S-+i(vv+@Sk=9h# zT&At5nWJxLs4Zq1g#Ze(2|$0MH}=L~Ye$@TjQY*xAmm@ao3u`wyQbi;Z`o;&K(tKE*#GL3~It@y)=o zWeag$1Aw`E z2*C49ASx<~zDPr_Y@qY=h}0JLMMg%F4cWd_fD~%a+^@7e_wd@S(tE$ao->8FesHmm z)Ku3vt)s2OpS65Zk!ybRx!9IK?VSvVUjg$vM4zPr%BYi_Mu=>uQY)1TZ$K9b^wYe>ZR+ukxX6f(;KoNfeaz?Yi5OwBK5%pZD>IO6E)LJts zsO3sG)|*MW_E>-vYW4K=AR;1yLMxq4PcN;b_q0))#%YXfs4Y=|7vW;>GY=~r&sANo zK6tep0u!QP*1XwGT51|?Gq}cJ?dK|RObLl`%isM$PcvbO0_=Yw*h`R=oGa^M>HVwG zck@7Jv=z*phh9%<~|85_Pj)B?sDP>~8~&LlDG7kP0~y z@_9%ZFt4KaArZedPA!D?@!M{~P~XBodOiaboTD{BavVVML4eG?0LzyGxQYb0#uEjp zLf#KWiUJe^q)vbCkD<2!a+FAbZEa~&*711?KRo5h2ctOaVZTCaTblea)(Q1X*s_MD zthsIpbH2Hl4XhO-ARjxhe(WV^HkURh@pZ5c*l$5yRcMYc4jO97s`ds%Bb|!+yI043oVmU zpFA}}-D!Vh2sVxS@%)q*#Am1kur(Z@xe1{1SAe2ifb$gq*DC>5xq}d^Nr0+C@qxY$ zuugzDmG}6W@;N9({*zRt5v^$ob0AB>4+VJ}@|6GuSjIY`b_r{QWeiY=_Zl5oQllf= z)8N38iH%Fyo)$;87u#FFo_)x=KqGh5rwv>w_=A54&7~ZhEWU`X=Z+o=^G3Z_Yd%H; zz2!XMvgc(h5)z$h!sGG4+uIuw5)$CRfdh2N4)qhMO?@;*uWuz=VL#1fV&GzlA^X>p z!HKy%FflO^+L$e}2D?~aSQ;M)3w_-i7c8-JRKbI*C5Q?-vnK+CF3=MJ?hH?z9ONE- z!jgZpxMj|?C15sb0W8p52G+{XuySs|xm;dhm!Wt})TuAO2&;hM0mUF2f3JyK(AKV> zSq~aHt=~(9S4{pq=oBnXI|Ei3x0|PB188USfm;Y87y#o z9k25&0Nfp)3sAdj0k)=1nZ(afv=F4pFGPRA-Fb@12(AlHLxD1dV&X{@;K|P4*+tx^BX%3y5YP69;nN$*4Nm)~eEozQCeMcfk$>3kIA z9=s1l&VE6FiHV7TCpba>{{6w$)>im-Ogc#M`t|EXY76@oELcD`Brcls2LVQ0&3S(} zCM$8D-3lj|>#-E-A6j8))m8&n*zE>^0`N^tm@QzL?o!SKk-ZLY;n z1kQ)*U`j^YiLW-DJvj!wV;{d$tzUm^zV<{p=?)m=Ln#yCS+j85#PCdTQ?6jBB~Mq|!sC3|##1PP{fdBI5cp{d`ut2q z14yMWMM*}D1N#<5X^kOyPO}4ZZE|2<7^3qU?Af@k>;WALtplH}0i}LI@ArS8!A#1M z#_G6ZW?}zw(3O6-mOEOr)=XOKA@}R&o|F;_UteE(5uxxLu@&%N1^IpMt}wrAGazx?qq z5*dR+8r~-@WJ36< zbO<<_bZ=c=+zN+;h<-g;*NKZy5?|%jNPOK*MmFI0Vtj4GO1!N7YiBAf1Tz^MST=hl z1gzKy>zsmN^`ZdqnCk}%wcTqR4Oc4s;TQEe+-qd;@rH@9mq33nyR}XI0KmjlLH)n{ zPS^MMDFT($s%GPZsHJRvo%jQ>!cvQ|3cxIVfa*s8{;Sbwsz`i9ExcC)aIzN(aOHCW z>goX#fwEiJucXwPE;qTACqEa(cK_)<`LEh|a+-n+`Iz=BMLs1aE$IqU>?J^d{G z2MLElG2oV=h`oRB+Oa<98K+aYrm)S#KsFe1&tRBMC68ERG-^P-nRI=Vxir+6O5H_I znDxY5`WL)E-faGbDYhRyHj)0Eb<_Zd4jl^m`udQWnF$LQE)-tr#80AlA7#NEFDdLu zLguYl634r6ME=;t@)3@{UaFBvTX_XP9dFCNUIt+mne~7EXLvFGXVXW~R#EpoV9y08 z?g4u$K%aR*pL$samw8(GH!PaI9L(fwV8L`p2woWu>zsqZZO$5So#_J(hAY9@*xRPd zFdR}A^+i}Y3<)Z0HOg*kICURd5=$>Uk%>85H#Jkh*UxDOom{~SH9}#X&sem}@$-3r zf*b%X#pi$Gn}O6oL9ST^LabVe_ZlR=7X_F;WfXe8Q;@9)Bs2`gjj$gDn5n4B&r+C! zeZL}GThf%qyfpkevjHSPN<12$B_b&uq=W=L;(bb3C~;w(@Wf>F$U1Xr7vO%~8%r^P z^`=rrfI=j%SZ|7Ne#9$zzK2{XX_zs&&;2>yeDHrl9gyBe84?l#c$$-N+buUYmq=~u zqcO7iLmd!{(;v{aqpf2&-PkQ^{rP?84n4`bPz)Y%Kf>yQxB^>$kMD6;YZHr4>QZh{ai#RRB>0u%!ZZWxNN0uBg8*i5xQyua`~1S?cMNmCff zx&d%wAHZ_fw@Qo;F$+cy>4ZXTrqT`T0xf?QW4>(WO5a8S^4l!GIETqcX)}2`Nf6(L z)6~?2q@*O^a5%IUq&AV-)JJWyAzO)cKy78^p+@s8x6j|=Q|gwz>Go(!7A%+8 z-0>-lGm)^bDj^H*SrP)B(32#DHq!m9H@O8aj=dh>5Dh`D(cnIJ4g6r>433r_;A4Lu z2v`k-o#9D$5+YK^GYJ?QSynMFyaM|B9fOYoPS&U$fEqO_%Vf8r0NYM=wnyxm4gQ1xO@M=jrJwT<5J>vj)bE8%Lxz_0bsF zkgY@kQi(-NUw^`EuO;TIig)J*9!uu$%Gq0k;XT)7m*23CCno+s)&bXAMNSNJ-gPh~ zGFy%!Dw%DA?c?1fhPBkh(h!_U`1x;44fe{v(cz_{l^%^fX{n0%Lz7F4T{W zxl%uQ=XKC81Qa0OptC)SPb}fUs~(Eb%MIYjA%I`60Gv7r5EuYpZ4Iy|8NhY{fTj+L zuL}W+tp`zT6~I&awnKnah7n{c2+#|zXa6u7XO13HYbxdb%7+m|MQK{!(QXG_#oHal z=T|HAZ6r;cE+z}WB;=F%HaTpt^C9wzPl z4HS0%UTL@=%xJ6&0bU{TA)l}LbkqQ}RPl;^lyGPuwY33Msb9Cl`w@Sum;|(>%1hI_ z5CwOFpCR8y`@?*m{1aLSqA1t0{}?1cj@2D@=W#6Zg6~*HPF!j_R&c8B%Fn-^ul%*r`{c=!Ls&OKS+Uf{iXh!Q z2;`=M#FMZv^v*}&RU&^ow%3qU;}cR;ZV@INB)sS1)0%M~8O{DjF#PLr!?z9lY{0?4 zeeK}KhSvwO9~(kg39?GaV0N@IkcHOxv61Wz{-^L3(qX2>wA06Pmb6(KeO<)bztLD@Fmq;a@V|e7;h%pR9QLEbgHr{r zZ6%r3pfzpG-p)4l_4Oau-@QwRl=p}o^BAJsj{OV8mD&`-S^^hx64Xp=Z>pIt05ubv zMkaaz9t!U$3Nfi+0~^oY;PpqZUcGd}eq8kX(M+4x_)SJP3RA2aKN{3$U1z&Zg9cS+ z=;&1QTUx3C;NO32uBxgou(hpD)6%TIk(W<>FYwfg71i4Y4y+c5YXh>;+R7kB#n`4@ z)z~&w)z~Ie&3M5T6yY^(<2h-S>sT@hlwTLbqRBH$>ss|=Z}8fpue#cIht3@Ff;rrY z#YcE^+h!S0IEwwcoee`6gRA@YL1*MzTEco93qZzv*cX2q@7@J*JUn#@Hse_BDmI!t zU%35u392Rw1gb{1+f_^!v>KaRRBT={K1JPdp4T)Zo8u(Rt&U@NkO+VFVXN@IMsbGq z*X#{mKMWo`aFh3{xwke4>0Mehck(d`zshnW@;krmn6L|XRa$Cmq0@OD@Zj`mxQE+# z_fMXLyZC=V!_&Ij7fssQU>`nLh#~b8TGy$V&OeNvFO9?(zU13In0(Zr*ucn0Wq^wD zg4^f`<4B;F*Rm8Gd#r6T?~014O$>X3*ABf64HPe)EA@eI#(#SBP}-cQ*$I}_@4wqC zv@7Ert~vZ!dK=IllN0o9Ce85t6dqFxVb@Rv^6!sy^<2RS6nQCCBpG6 zW#vu+wEbnX!}z@N{8I8=HF#}p^YM=wfc6LBX2E8|}egm^bp$QUQM(x10V4I4O&1n@A+hi3(+ZDRp zIVB`M6;s=tbX{+!5RV?Sy=E=@p1ps;YlnfzWMnJS;8n(9Z@(>wladlN{C-;i057n$ zzFu&7XPn^l+I4~(+1W3Q{a#cg*xIL$fQbPG7>g9#SjYBinaoSZvP`9_iOmgFBb$6G z(Wsf)@Mq03O`|P2^nSkV4PIMJKxVOj5Ou+97J9YTreMay5=_2WW?YS-m_mB>y|5+U zC8F@^F=5G}y<_$UuPw$Qcd>sEqW$0~qyR-$Ne?EV7=H*{EW4-Bv-kcge|C*_Ot5dw zRbBQjdxO{hDVUk;KY;4>Yyx_?a7;2Tp%|NxPZ~qm71{%?^JmiR4PGn!AMLW^NjuE# Q;s5{u07*qoM6N<$f&pnz1ONa4 delta 7934 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 diff --git a/assets/images/icons@2x.png b/assets/images/icons@2x.png index 33d887915ddc2f1bbceac86b1121e1fd8a43057b..2e16040d2df0ed7704695947ba22b6403956c117 100644 GIT binary patch delta 4980 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 diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index fb092787..0404492c 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,7 +1,7 @@ [ [ - "2016-02-14", - "New documentation: CakePHP" + "2016-02-15", + "New documentations: CakePHP and Chef" ], [ "2016-01-31", "New documentations: Erlang and Tcl/Tk" diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index c700c6c9..735e76cc 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -109,6 +109,11 @@ credits = [ '2011-2015 Jake Luer', 'MIT', 'https://github.com/chaijs/chai/blob/master/README.md#license' + ], [ + 'Chef™', + 'Chef Software, Inc.', + 'CC BY', + 'https://raw.githubusercontent.com/chef/chef-web-docs-2016/master/LICENSE' ], [ 'Clojure', 'Rich Hickey', diff --git a/assets/javascripts/views/pages/sphinx_simple.coffee b/assets/javascripts/views/pages/sphinx_simple.coffee new file mode 100644 index 00000000..971c25ed --- /dev/null +++ b/assets/javascripts/views/pages/sphinx_simple.coffee @@ -0,0 +1,7 @@ +#= require views/pages/base + +class app.views.SphinxSimplePage extends app.views.BasePage + prepare: -> + @highlightCode @findAll('pre.highlight-ruby'), 'ruby' + @highlightCode @findAll('pre.highlight-javascript'), 'javascript' + return diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index 99cb1ada..daa53fb9 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -35,7 +35,6 @@ 'pages/c', 'pages/cakephp', 'pages/chai', - 'pages/chef', 'pages/clojure', 'pages/coffeescript', 'pages/d3', @@ -59,7 +58,6 @@ 'pages/nginx', 'pages/node', 'pages/npm', - 'pages/opentsdb', 'pages/phalcon', 'pages/phaser', 'pages/php', @@ -75,6 +73,7 @@ 'pages/rust', 'pages/socketio', 'pages/sphinx', + 'pages/sphinx_simple', 'pages/tcl_tk', 'pages/underscore', 'pages/vagrant', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 2352df26..5a047bb8 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -35,7 +35,6 @@ 'pages/c', 'pages/cakephp', 'pages/chai', - 'pages/chef', 'pages/clojure', 'pages/coffeescript', 'pages/d3', @@ -59,7 +58,6 @@ 'pages/nginx', 'pages/node', 'pages/npm', - 'pages/opentsdb', 'pages/phalcon', 'pages/phaser', 'pages/php', @@ -75,6 +73,7 @@ 'pages/rust', 'pages/socketio', 'pages/sphinx', + 'pages/sphinx_simple', 'pages/tcl_tk', 'pages/underscore', 'pages/vagrant', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 6b3c51be..385f03fe 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -124,3 +124,4 @@ ._icon-phoenix:before { background-position: -9rem -9rem; } ._icon-tcl_tk:before { background-position: 0 -10rem; } ._icon-erlang:before { background-position: -1rem -10rem; } +._icon-chef:before { background-position: -2rem -10rem; } diff --git a/assets/stylesheets/pages/_chef.scss b/assets/stylesheets/pages/_chef.scss index 42c15758..1314c403 100644 --- a/assets/stylesheets/pages/_chef.scss +++ b/assets/stylesheets/pages/_chef.scss @@ -1,4 +1,8 @@ ._chef { @extend %simple; -} \ No newline at end of file + .note, .warning { @extend %note; } + .warning { @extend %note, %note-red; } + + code { @extend %label; } +} diff --git a/assets/stylesheets/pages/_opentsdb.scss b/assets/stylesheets/pages/_sphinx_simple.scss similarity index 79% rename from assets/stylesheets/pages/_opentsdb.scss rename to assets/stylesheets/pages/_sphinx_simple.scss index 308f1c46..7aa27442 100644 --- a/assets/stylesheets/pages/_opentsdb.scss +++ b/assets/stylesheets/pages/_sphinx_simple.scss @@ -1,4 +1,4 @@ -._opentsdb { +._sphinx_simple { @extend %simple; .admonition { @extend %note; } @@ -7,4 +7,6 @@ margin: 0 0 .25rem; font-weight: bold; } + + code { @extend %label; } } diff --git a/lib/docs/core/response.rb b/lib/docs/core/response.rb index c9477f27..64ecc302 100644 --- a/lib/docs/core/response.rb +++ b/lib/docs/core/response.rb @@ -5,7 +5,7 @@ module Docs end def error? - code != 404 && code >= 400 && code <= 599 + code != 404 && code != 403 && code >= 400 && code <= 599 end def empty? diff --git a/lib/docs/core/scraper.rb b/lib/docs/core/scraper.rb index 0ca8059b..9f973c8a 100644 --- a/lib/docs/core/scraper.rb +++ b/lib/docs/core/scraper.rb @@ -13,6 +13,7 @@ module Docs autoload_all "docs/filters/#{to_s.demodulize.underscore}", 'filter' end + subclass.base_url = base_url subclass.root_path = root_path subclass.initial_paths = initial_paths.dup subclass.options = options.deep_dup diff --git a/lib/docs/filters/chef/clean_html.rb b/lib/docs/filters/chef/clean_html.rb index 5d79623b..05c4e713 100644 --- a/lib/docs/filters/chef/clean_html.rb +++ b/lib/docs/filters/chef/clean_html.rb @@ -2,7 +2,33 @@ module Docs class Chef class CleanHtmlFilter < Filter def call - css('h1 a', 'h2 a', 'h3 a','div.footer').remove + @doc = at_css('div[role="main"]') + + css('.headerlink').remove + + css('em', 'div.align-center', 'a[href$=".svg"]').each do |node| + node.before(node.children).remove + end + + css('.section').each do |node| + node.first_element_child['id'] = node['id'] if node['id'] + node.before(node.children).remove + end + + css('tt').each do |node| + node.content = node.content.strip + node.name = 'code' + end + + css('table[border]').each do |node| + node.remove_attribute('border') + end + + css('div[class^="highlight-"]').each do |node| + node.content = node.content.strip + node.name = 'pre' + end + doc end end diff --git a/lib/docs/filters/chef/entries.rb b/lib/docs/filters/chef/entries.rb index 0c52fcf9..3c28a2eb 100644 --- a/lib/docs/filters/chef/entries.rb +++ b/lib/docs/filters/chef/entries.rb @@ -2,8 +2,60 @@ module Docs class Chef class EntriesFilter < Docs::EntriesFilter def get_name - at_css('div.body h1 a').remove - at_css('div.body h1').content + name = at_css('.body h1').content + name.remove! "\u{00b6}" + name.remove! 'About the ' + name.remove! 'About ' + name + end + + CLIENT_TYPE_BY_SLUG_END_WITH = { + 'knife_common_options' => 'Knife Commands', + 'knife_using' => 'Knife Commands', + 'resource_common' => 'Chef Resources', + 'config_rb_knife_optional_settings' => 'Config Files' + } + + SERVER_TYPE_BY_SLUG_END_WITH = { + 'auth' => 'Theory & Concepts', + 'install_server_pre' => 'Setup & Config', + 'config_rb_server_optional_settings' => 'Config Files' + } + + def get_type + if server_page? + SERVER_TYPE_BY_SLUG_END_WITH.each do |key, value| + return "Chef Server / #{value}" if slug.end_with?(key) + end + else + CLIENT_TYPE_BY_SLUG_END_WITH.each do |key, value| + return value if slug.end_with?(key) + end + end + + path = nav_path + path.delete('Reference') + path = path[0..0] + path.unshift('Chef Server') if server_page? + + type = path.join(' / ') + type.sub 'Cookbooks / Cookbook', 'Cookbooks /' + type + end + + def server_page? + slug.start_with?(context[:server_path]) + end + + def nav_path + node = at_css(".nav-docs a[href='#{result[:path].split('/').last}']") + path = [] + until node['class'] && node['class'].include?('main-item') + path.unshift(node.first_element_child.content.strip) if node['class'] && node['class'].include?('has-sub-items') + node = node.parent + end + path.unshift(node.first_element_child.content.strip) + path end end end diff --git a/lib/docs/scrapers/chef.rb b/lib/docs/scrapers/chef.rb index 9ed4ae3c..f5942f82 100644 --- a/lib/docs/scrapers/chef.rb +++ b/lib/docs/scrapers/chef.rb @@ -1,27 +1,50 @@ module Docs class Chef < UrlScraper - self.name = 'Chef' - self.slug = 'chef' - self.type = 'chef' - self.version = '12.5' - self.base_url = 'https://docs.chef.io/' + self.type = 'sphinx_simple' + self.base_url = 'https://docs.chef.io/release/' self.links = { home: 'https://www.chef.io/', - docs: 'https://docs.chef.io/' + code: 'https://github.com/chef/chef' } html_filters.push 'chef/entries', 'chef/clean_html' - options[:container] = '.bodywrapper' - - options[:only_patterns] = [/resource_.*.html/] - options[:skip_patterns] = [/resource_common\.html/] - - options[:trailing_slash] = false + options[:skip_patterns] = [ + /\A[^\/]+\/\z/, + /\A[^\/]+\/index\.html\z/, + /\A[^\/]+\/release_notes\.html\z/, + /\Aserver[^\/]+\/chef_overview\.html\z/ ] options[:attribution] = <<-HTML - © 2015 Chef Software, Inc.
- Creative Commons Attribution 3.0 Unported License. + © Chef Software, Inc.
+ Licensed under the Creative Commons Attribution 3.0 Unported License.
+ The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/service + marks of Chef, in the United States and other countries and are used with Chef Inc's permission.
+ We are not affiliated with, endorsed or sponsored by Chef Inc. HTML + + version '12' do + self.release = '12.7' + + options[:client_path] = client_path = '12-7' + options[:server_path] = server_path = 'server_12-4' + + self.root_path = "#{client_path}/chef_overview.html" + self.initial_paths = ["#{server_path}/server_components.html"] + + options[:only_patterns] = [/\A#{client_path}\//, /\A#{server_path}\//] + end + + version '11' do + self.release = '11.18' + + options[:client_path] = client_path = '11-18' + options[:server_path] = server_path = 'server_12-4' + + self.root_path = "#{client_path}/chef_overview.html" + self.initial_paths = ["#{server_path}/server_components.html"] + + options[:only_patterns] = [/\A#{client_path}\//, /\A#{server_path}\//] + end end end diff --git a/public/icons/docs/chef/16.png b/public/icons/docs/chef/16.png index e7792f94e32ee852d24fec54dc48a25c5289ddc1..6c4dc7dbb4907869f26a3abb3f160492a313cd74 100644 GIT binary patch delta 702 zcmV;v0zv)l1=R(RBYy&%NklM9IM)Vg$hgL9L$tYVm49UhMSpBiO-Tkt^8mi7 zK%l_GlxT%}3`*cqNL9k6jQA1=YM`y#}cdSwTc)}SJF;!;<;UlF5o2B zhG7tW+iSK6FMkPYDLc<4sK$d-c|8YD?pSsuEzeHQNs=UF5@gd;>SQ4oxHST+$@adH z5^-BlwVC)Hly#Zv8*qVxX=!_S>jmojW~Bc|xuPf;k4FTx+Qo^@9V+v0R3V({eN@%6`ZQ>hxl!FCTU&PPRZE7r~juY)8P#)jIOBp%IqmfwKP>EPYwB8dH z?U5*HyP0Bxs>KHdsq0zNRDC$UhtrB6${OpnVgpgQ`#WYn@F+Cu%Sj!}EvG;iEqn)` zo!^~@Y1{!h-Q$Br$y%G+S6;cdf7-2Y$KpOKmN)(lz1sxo@F#p2jZ#!$GA-#QCG*l1 k<+0&5p8@As6v9tP244MTq2%SX7ytkO07*qoM6N<$f=a_x^Z)<= delta 726 zcmV;{0xA8~1?>fpBYyw}VoOIv0RI600RN!9r;`8x010qNS#tmYE+YT{E+YYWr9XB6 z000McNliru-wG8J7Z3r^BnSWi0(wbAK~y-)t&>eiR8bVifA7uc%s4vQB#nrsG^mp( zNSYsI3!5-fu*e~jHZBH=h!*L9kwHsIgO(x>T9~_6*@r>JtA8}1+K83qBEeBBH8jVM ztQlwCZ8HOtx@ggF^}m;U{`Z`F&yk3-(wQ5R_5@kKDg?Fb5o2nitgis~fDW6_zse@$ zn6UZ$0BOLt9>42I&2W8o-Rq;h-IJ~o3F?6)0Jq2cmw_QJ1A_#Cv!e$CBZ2faldNZ% z89WLFRV@Gp}Reww#~pSN5pK!i$@l0XLQm@xx zJ}qEri-D#p9QJsxj9x1q&bF*o$dXt}vClsScu@Il=6~XzkAdzzVN8>X)xZv z7^k1ypUXMWy!-R_3-7Dmq>Y#MH#UWChQ&~C&y*`5fpA(^tYIM^2c}{{Qmh0`RRCD) z%9-k#DBc)e$k-|1!-g*JPmuKyvmu;$r~G-6xn3=I7%nj-Cq0N0@WGmG`ztg%pe!J`?0^Z83wI&0m(oSa0;l6UTW1;#U0%nkxygups7kIdLRrm0DI$p>KITJT|3+! zZyQjjsR~A*-R<#C13{n=umB2>84WN2t4?3-A8M`Q%Z^`!qW}N^07*qo IM6N<$f@j21-~a#s diff --git a/public/icons/docs/chef/16@2x.png b/public/icons/docs/chef/16@2x.png index 5c8d5c30a8fabd1bf4a66ade007e04c4f126fd66..a115f4324bf314a20e5529979cab1c6f00a09f98 100644 GIT binary patch delta 1577 zcmV+^2G;q&47m)DBYy?}NklWDS}2p_;Ji1Ct63?%kzA zd@OtKy5oSl?7eq0Y{~+4>;bqD$ll#W!ADv-!-ukmIZjUHIBC4XD6!Pk(lj4giXs9F z_(bg-X3zC6Ewkv*nK{FsyXXFY=Y7tF{?dura94)`N~Zx!JAVSu&=r7V$X#6_I2Sqp zguIMoT3&^FVW6nB7#^XEI|I;$VAuM?9YN@555mf@4<5T^;DhNf1c3|5!YCl;5M&>6 zEqbFSa_)#CcL{$lIpTvmZVJ5FfQQJXH&_*d=G}{6)l2S4LJ8nUr%!j4p|zKL152{^xK;M<0C3$7Og@OCcOvg! zz;i`Y5bll%%r5K-!gdBnPwcn5vew)Hs%R%AhgxoxwSN_otku|L?*W^l{b_Y-+pMy_ zWI?vo*%^WZqWjSUpU~Y9i^z2X`0jMqthEe`Ko<}^WO1l<{H!m2-s#!dkPjhpzmNl8 z?(+eAYEbeNE$Kf=M=s+G&z$ZmH?4N+9g?gD(aMV=5GLR`@_<#*j-ofNioa2=yfZtQ zlsL^wP=7@wPu9nfx9F~M%8Yn1@yb}R>dm+^N%3A{5Gg}17B9ERYTY*rhn9u|upZsJ zlgc$A!F5kchU&G*+IE&Br3&@&xn_9=;C!Atwa8S`p)CU@Dif+_}tp~!l~{>xg8PttL_>00RJ{Y_9zgY zT(_l6)+Y(F(1?_tc1TK>QKEm+0xVuG3>MFW>Y zUw?%0EMdWo3x*p4c+;s8c%Zj@LYiwBg+K`35h;7X(-HeeaI_sCEm>5I_n zEhI!afC;yb6~MCwebXT1IO5)CYEmYHz0pnpHiGgU~wE5u+w$zhlU%^SV zZr+GOtb)9=ez*^icmj&l`a0Z?3jU7ob`x)1IJnH_)Vhf+idIR6&>2g76P9xe$)KS> z19c<@`Y3nwa#mp1BB5Q!zhQ+H+wT3jQU0 z<+M{c@Y&bc1?NU-WaoQ_A%9iTHh(^Eq=6ng%lA$mX?x$}B zl4+s|3Y^3k@0SqtMYp}Y_HC%(QWM<1i!8tCPc!<;p#+Tf?MIytLsW&l1!eX`+m@)D z>Dz!~eoNF`0uLhCDqb#QFauwtI&aH|(J&Ci9%&E2BAz delta 1584 zcmV-02G9Aq48RPKBYyw}VoOIv0RI600RN!9r;`8x010qNS#tmYE+YT{E+YYWr9XB6 z000McNliru-wG8J7BN(!1s4DS1wlye@sY@&5?)#vY-2zu z8XiW)2QVrM)B^3|cDwD){`|vV&AMsJ7Ve+-B$M6DIltdIzwbG}bG{=ufuxcN3@0F! zOhkbtzzx7$pa#eT-vb{5p5X-R7@>#~oi7632hfGgWJ0|so7ZJ!q`wQO0M1Z*^#XGZ zC)ibL0Fe@$uYU#_0X|Pvzxl+MbIy;5e4T)l@43^I?diZuU;*&7Lh954P|jBYjia>i zbF1B~PKS}EsK^T-1*|E6@p%b<1GXDZuw)?kQ%XT9nYaU3o|j_Jb=ww>)`gq^dH(SN-nAl10-@^pdod3h<$%So-X zwj$LIybh%Hr7JI7{K*v)_oXYh05iLjiMJP6_Hy9xi4f3+IQ;?vzqEEv+!Yo1dSEkf zSxyRhXX5L3Ha4t3|AiUbX8N9cE3g;%piB?PKDhhhT209B1l%|-);j|jZ(6o#TK0$$ z*i`8RlYf@&ncW1mD!8M|&fD?HwG)20ArnT(OYs$B)&k5276GkMEkFLA9Sw&7UY@o2 z+fWLCCBvmb8>#?J%jVP7FZ~2u158QhqOBKIcQgPY5I3CQuh(9_5@4EIHWN5_C|h1H zkd*6TlLkjraHR)eTDAcGC?3C~MhCQ}$$JlmQh$^I|1_MS58&5a6yI}yR{Kl>YPxf= z3QeHrq^6H6%Zx7wu(WIFd#*Gsd;i%L-8+*r+UpKvR<65$*CkZPvO@k2X}Z8x^$S-j zWB_FRy#b5hPd#NMeW2z@Us<iUshtMAH=<6c?rdB@_+i6( zj^|<-0rKvh4I4VLdg&|DqOK6|Wx)FnU+SOqMRaQxkiHtGUSQz(Z+)qp5r z9A5zJj%oSytKUy+U2&jxewh|l6sJr*mxWUBT7BEL(b2vJ;4Z@nnoqVB56Bc?ZGT^0 z({DL*@8Y(3>mCHIR#UGXXj7+L7)o(0Iir1(a=ycGg632*aY}r^06KtCz7k z4~yOp{EjW)3IgaauwM(@UVuc8@3~o^D+1gKe65@V9QHle8H7?lZd!I`m=S(2kX24v ze9zrcpql_(sRGj!dVlbNDu4BTcOnjdUs0ZmsdN$nwgc0P zs<+(t+)VLM@;x_YT6RpGv{?S)du~tR4JbI!D&KQ&8j2A;32ZVg`xvl7Rs1~DvY+%l z_aB2y&Y`;JYo=uv*2irHbueVd)qKzWNOAj4-~r%L;6>nH%BD{hS1B?40|@m3Ju1gn it7maRz`rV+LFG3Ha#T%9ap;)<0000