From 7b2a18e5bf100764f78c4be456461b97bc6f8651 Mon Sep 17 00:00:00 2001 From: Michael Stack Date: Sun, 10 Feb 2008 06:50:00 +0000 Subject: [PATCH] HBASE-436 website Part 1: Basic documentation. git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@620246 13f79535-47bb-0310-9956-ffa450edef68 --- docs/broken-links.xml | 2 + docs/images/built-with-forrest-button.png | Bin 0 -> 1936 bytes docs/images/favicon.ico | Bin 0 -> 766 bytes docs/images/hadoop-logo.jpg | Bin 0 -> 9443 bytes docs/images/hbase_logo_med.gif | Bin 0 -> 3592 bytes docs/images/instruction_arrow.png | Bin 0 -> 285 bytes docs/index.html | 194 +++ docs/index.pdf | 144 ++ docs/linkmap.html | 221 +++ docs/linkmap.pdf | 94 ++ docs/skin/CommonMessages_de.xml | 23 + docs/skin/CommonMessages_en_US.xml | 23 + docs/skin/CommonMessages_es.xml | 23 + docs/skin/CommonMessages_fr.xml | 23 + docs/skin/basic.css | 166 +++ docs/skin/breadcrumbs-optimized.js | 90 ++ docs/skin/breadcrumbs.js | 237 ++++ docs/skin/fontsize.js | 166 +++ docs/skin/getBlank.js | 40 + docs/skin/getMenu.js | 45 + docs/skin/images/README.txt | 1 + docs/skin/images/add.jpg | Bin 0 -> 1142 bytes .../skin/images/built-with-forrest-button.png | Bin 0 -> 1936 bytes docs/skin/images/chapter.gif | Bin 0 -> 49 bytes docs/skin/images/chapter_open.gif | Bin 0 -> 49 bytes docs/skin/images/current.gif | Bin 0 -> 54 bytes docs/skin/images/error.png | Bin 0 -> 1709 bytes docs/skin/images/external-link.gif | Bin 0 -> 71 bytes docs/skin/images/fix.jpg | Bin 0 -> 932 bytes docs/skin/images/forrest-credit-logo.png | Bin 0 -> 4633 bytes docs/skin/images/hack.jpg | Bin 0 -> 743 bytes docs/skin/images/header_white_line.gif | Bin 0 -> 37 bytes docs/skin/images/info.png | Bin 0 -> 1320 bytes docs/skin/images/instruction_arrow.png | Bin 0 -> 285 bytes docs/skin/images/label.gif | Bin 0 -> 54 bytes docs/skin/images/page.gif | Bin 0 -> 79 bytes docs/skin/images/pdfdoc.gif | Bin 0 -> 1008 bytes docs/skin/images/poddoc.png | Bin 0 -> 856 bytes docs/skin/images/printer.gif | Bin 0 -> 603 bytes .../images/rc-b-l-15-1body-2menu-3menu.png | Bin 0 -> 350 bytes .../images/rc-b-r-15-1body-2menu-3menu.png | Bin 0 -> 308 bytes ...-5-1header-2tab-selected-3tab-selected.png | Bin 0 -> 191 bytes ...rc-t-l-5-1header-2searchbox-3searchbox.png | Bin 0 -> 197 bytes ...-5-1header-2tab-selected-3tab-selected.png | Bin 0 -> 222 bytes ...header-2tab-unselected-3tab-unselected.png | Bin 0 -> 197 bytes .../images/rc-t-r-15-1body-2menu-3menu.png | Bin 0 -> 390 bytes ...rc-t-r-5-1header-2searchbox-3searchbox.png | Bin 0 -> 207 bytes ...-5-1header-2tab-selected-3tab-selected.png | Bin 0 -> 219 bytes ...header-2tab-unselected-3tab-unselected.png | Bin 0 -> 207 bytes docs/skin/images/remove.jpg | Bin 0 -> 1251 bytes docs/skin/images/rss.png | Bin 0 -> 360 bytes docs/skin/images/spacer.gif | Bin 0 -> 43 bytes docs/skin/images/success.png | Bin 0 -> 1291 bytes docs/skin/images/txtdoc.png | Bin 0 -> 784 bytes docs/skin/images/update.jpg | Bin 0 -> 990 bytes docs/skin/images/valid-html401.png | Bin 0 -> 2948 bytes docs/skin/images/vcss.png | Bin 0 -> 1134 bytes docs/skin/images/warning.png | Bin 0 -> 1215 bytes docs/skin/images/xmldoc.gif | Bin 0 -> 992 bytes docs/skin/menu.js | 48 + docs/skin/note.txt | 50 + docs/skin/print.css | 54 + docs/skin/profile.css | 158 +++ docs/skin/prototype.js | 1257 +++++++++++++++++ docs/skin/screen.css | 587 ++++++++ src/docs/forrest.properties | 104 ++ src/docs/src/documentation/README.txt | 7 + .../classes/CatalogManager.properties | 37 + .../src/documentation/content/xdocs/index.xml | 39 + .../src/documentation/content/xdocs/site.xml | 69 + .../src/documentation/content/xdocs/tabs.xml | 36 + .../resources/images/architecture.gif | Bin 0 -> 15461 bytes .../resources/images/favicon.ico | Bin 0 -> 766 bytes .../resources/images/hadoop-logo.jpg | Bin 0 -> 9443 bytes .../resources/images/hbase_logo_med.gif | Bin 0 -> 3592 bytes src/docs/src/documentation/skinconf.xml | 345 +++++ src/docs/status.xml | 74 + 77 files changed, 4357 insertions(+) create mode 100644 docs/broken-links.xml create mode 100644 docs/images/built-with-forrest-button.png create mode 100644 docs/images/favicon.ico create mode 100644 docs/images/hadoop-logo.jpg create mode 100644 docs/images/hbase_logo_med.gif create mode 100644 docs/images/instruction_arrow.png create mode 100644 docs/index.html create mode 100644 docs/index.pdf create mode 100644 docs/linkmap.html create mode 100644 docs/linkmap.pdf create mode 100644 docs/skin/CommonMessages_de.xml create mode 100644 docs/skin/CommonMessages_en_US.xml create mode 100644 docs/skin/CommonMessages_es.xml create mode 100644 docs/skin/CommonMessages_fr.xml create mode 100644 docs/skin/basic.css create mode 100644 docs/skin/breadcrumbs-optimized.js create mode 100644 docs/skin/breadcrumbs.js create mode 100644 docs/skin/fontsize.js create mode 100644 docs/skin/getBlank.js create mode 100644 docs/skin/getMenu.js create mode 100644 docs/skin/images/README.txt create mode 100644 docs/skin/images/add.jpg create mode 100644 docs/skin/images/built-with-forrest-button.png create mode 100644 docs/skin/images/chapter.gif create mode 100644 docs/skin/images/chapter_open.gif create mode 100644 docs/skin/images/current.gif create mode 100644 docs/skin/images/error.png create mode 100644 docs/skin/images/external-link.gif create mode 100644 docs/skin/images/fix.jpg create mode 100644 docs/skin/images/forrest-credit-logo.png create mode 100644 docs/skin/images/hack.jpg create mode 100644 docs/skin/images/header_white_line.gif create mode 100644 docs/skin/images/info.png create mode 100644 docs/skin/images/instruction_arrow.png create mode 100644 docs/skin/images/label.gif create mode 100644 docs/skin/images/page.gif create mode 100644 docs/skin/images/pdfdoc.gif create mode 100644 docs/skin/images/poddoc.png create mode 100644 docs/skin/images/printer.gif create mode 100644 docs/skin/images/rc-b-l-15-1body-2menu-3menu.png create mode 100644 docs/skin/images/rc-b-r-15-1body-2menu-3menu.png create mode 100644 docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png create mode 100644 docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png create mode 100644 docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png create mode 100644 docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png create mode 100644 docs/skin/images/rc-t-r-15-1body-2menu-3menu.png create mode 100644 docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png create mode 100644 docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png create mode 100644 docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png create mode 100644 docs/skin/images/remove.jpg create mode 100644 docs/skin/images/rss.png create mode 100644 docs/skin/images/spacer.gif create mode 100644 docs/skin/images/success.png create mode 100644 docs/skin/images/txtdoc.png create mode 100644 docs/skin/images/update.jpg create mode 100644 docs/skin/images/valid-html401.png create mode 100644 docs/skin/images/vcss.png create mode 100644 docs/skin/images/warning.png create mode 100644 docs/skin/images/xmldoc.gif create mode 100644 docs/skin/menu.js create mode 100644 docs/skin/note.txt create mode 100644 docs/skin/print.css create mode 100644 docs/skin/profile.css create mode 100644 docs/skin/prototype.js create mode 100644 docs/skin/screen.css create mode 100644 src/docs/forrest.properties create mode 100644 src/docs/src/documentation/README.txt create mode 100644 src/docs/src/documentation/classes/CatalogManager.properties create mode 100644 src/docs/src/documentation/content/xdocs/index.xml create mode 100644 src/docs/src/documentation/content/xdocs/site.xml create mode 100644 src/docs/src/documentation/content/xdocs/tabs.xml create mode 100644 src/docs/src/documentation/resources/images/architecture.gif create mode 100644 src/docs/src/documentation/resources/images/favicon.ico create mode 100644 src/docs/src/documentation/resources/images/hadoop-logo.jpg create mode 100644 src/docs/src/documentation/resources/images/hbase_logo_med.gif create mode 100644 src/docs/src/documentation/skinconf.xml create mode 100644 src/docs/status.xml diff --git a/docs/broken-links.xml b/docs/broken-links.xml new file mode 100644 index 00000000000..f95aa9be019 --- /dev/null +++ b/docs/broken-links.xml @@ -0,0 +1,2 @@ + + diff --git a/docs/images/built-with-forrest-button.png b/docs/images/built-with-forrest-button.png new file mode 100644 index 0000000000000000000000000000000000000000..4a787abe4dc7831124c5a3105d328309d671654e GIT binary patch literal 1936 zcmeAS@N?(olHy`uVBq!ia0vp^5kM@@!3-or#C}}@QVJ!m5hWp+B{``KPNkVSB?{%4 zB^e5i1&PTSsS0lSMMbH_C5p!XSU`qIg48;emSp4?F%*}imZj$9IV6Hr>g5-upPn-{ z7N|%Aq{unHpt2}4J)?vn1ZWJ@wBY=-lJdkNkg=tCDTyVS`FXqD1Vn&(#K3xrQo&*h zA(^?U42FjK2B!K3Mr$wBh5%Ktmw5WRvR~q672y_j(|Vu{6yhxKh%9Dc;Q9c)(aAfd*^e>N}8ml8GDLnbh$Vh8yg>#P$;PF zC>QelbcQQ9twO^-_C801qj=2GblKSS!fj&e!5;2=cvDr4f*v|q3raa`n#2k(0Hfotk0b1J=Zc zVix-wb&f*FNxFAB>YkC+NOHE=$eo>CQlF6FW+Y*C$UweP(%~&@q>7f$#X#{A z;Q~QbwWpj0XSnm#bgimu&2m(IKJ4T((08AzspZ9!kdUPob@ zhUPNf9CfQG1}XglS^Z_=`jsLf7uek{k1Lkt=SCSE_Dw?nen%L4B7i^>@v~C&d=nR^FdJVP^0Cp33}tc?Gq$O(FfPpv_~AIPICFic;5W(Z>PHY@&p}`TbikKkV444Jk93Se-mtf*V{`vIwng zXu9Mqxh&@_YxVKtE1Q|E&EFj=C=gTZUe?$exv?(b$cHuUKkhedO?dx=U+Qq@<*v^rKUcg+uGXdSD-c1$LjDs$D3&%&n#_h{2#BhC!i@(`b;D9TORRq zdb5xI_xrb_^#0kXwa*@ycsr?PYU?avxGJe9GyUl7*!OiS zyFPrgF>;P=eC379dw#zycy~ibF5adl<@V%<|Ac&Q-%p5$abw8I1(|q!`K$Bs-$Ufi zn-NYN)w4{zw?yhbQXIC#@eD+l6OwziP6C9qB=6m^)Bp&s4|Xb_eY#M_>}{ahob-+F#617?*~$q0=_@T*^V)U2LV1m;&(&(TU%TRD_D(n) zkt5*A;KlgCw)x%rA4f%Q=dtWM=lnF0i|2Y{YvH!Kii;L@-PURI*lQP0-t8T_&{^nm zamG&RnUcY0o~~6qWBy(4eNK5~Ox(I2w%NP3-I^)TsBsHWP6w-$U*}emq-5YDhJteeZ$Sa@ literal 0 HcmV?d00001 diff --git a/docs/images/hadoop-logo.jpg b/docs/images/hadoop-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..809525d9f158f6163c7692b5e317153ae68bf23f GIT binary patch literal 9443 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 literal 0 HcmV?d00001 diff --git a/docs/images/hbase_logo_med.gif b/docs/images/hbase_logo_med.gif new file mode 100644 index 0000000000000000000000000000000000000000..36d3e3c9127d8e203ce975785f332b904d6d29d3 GIT binary patch literal 3592 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 Ok|H^hBso_B0RTHpJCq{; literal 0 HcmV?d00001 diff --git a/docs/images/instruction_arrow.png b/docs/images/instruction_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..0fbc72452bf9885757882932eb78d14b44403466 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^fn9o^tnS&|T3i>qxFe$? f}PJadT6$68(tDnm{r-UW|L@jfU literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000000..2fd4e4609e1 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,194 @@ + + + + + + + +HBase Documentation + + + + + + + + + +

+ + + +
+ + + + + + + + + + + + +
+
+
+
+ +
+ + +
+ +
+ +   +
+ + + + + +
+ +

HBase Documentation

+ +

+ The following documents provide concepts and procedures that will help you + get started using HBase. If you have more questions, you can ask the + mailing list or browse the archives. +

+ + + +
+ +
 
+
+ + + diff --git a/docs/index.pdf b/docs/index.pdf new file mode 100644 index 00000000000..8e430dabb22 --- /dev/null +++ b/docs/index.pdf @@ -0,0 +1,144 @@ +%PDF-1.3 +%ª«¬­ +4 0 obj +<< /Type /Info +/Producer (FOP 0.20.5) >> +endobj +5 0 obj +<< /Length 740 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gat=)a`?,Y(r#;b3$pF574_W&G$DH?WG+3<6dpZ;@7_,83$?n<[kC2YG`g%1n\P3Ts''p\//.L$M?$ZoZ%4,@4\&WOrshJ#5l%/^.]9V#9Rq&l)D9J,3q/"C"'L'brth0Orp-V!?_'+7mnm:@=W#ePa$oW*@C4*U9;JLC'm%e&'W0+D5Glb\PnfN-KAHhRGU,[2Aq>,$+P,s>J0M[,31<*OGS`;AXY+G*apM+M5>%"N+mYL`QE=mLj8t)=?>396HG,XOH$DfT48d3uK+/3t5umBJdA*4<@-3Sh]Hp,9/I(bo[rlb^eb^4fVmQ5JA`^%OlJiq2E-L?m+$)')!NA`V*#,7G6B2jr#u4,)f?/dI;n_@'NE^(I*b!]2,7ZZ4^H,S!OICAc3"`"/Dt +endstream +endobj +6 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 5 0 R +/Annots 7 0 R +>> +endobj +7 0 obj +[ +8 0 R +9 0 R +10 0 R +11 0 R +] +endobj +8 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 370.956 572.6 425.304 560.6 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://hadoop.apache.org/hbase/mailing_lists.html) +/S /URI >> +/H /I +>> +endobj +9 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 108.0 555.4 154.992 543.4 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (api/index.html) +/S /URI >> +/H /I +>> +endobj +10 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 108.0 542.2 132.0 530.2 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://wiki.apache.org/hadoop/Hbase) +/S /URI >> +/H /I +>> +endobj +11 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 108.0 529.0 132.0 517.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://wiki.apache.org/hadoop/Hbase/FAQ) +/S /URI >> +/H /I +>> +endobj +12 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F3 +/BaseFont /Helvetica-Bold +/Encoding /WinAnsiEncoding >> +endobj +13 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F5 +/BaseFont /Times-Roman +/Encoding /WinAnsiEncoding >> +endobj +14 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F1 +/BaseFont /Helvetica +/Encoding /WinAnsiEncoding >> +endobj +15 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F2 +/BaseFont /Helvetica-Oblique +/Encoding /WinAnsiEncoding >> +endobj +1 0 obj +<< /Type /Pages +/Count 1 +/Kids [6 0 R ] >> +endobj +2 0 obj +<< /Type /Catalog +/Pages 1 0 R + >> +endobj +3 0 obj +<< +/Font << /F3 12 0 R /F5 13 0 R /F1 14 0 R /F2 15 0 R >> +/ProcSet [ /PDF /ImageC /Text ] >> +endobj +xref +0 16 +0000000000 65535 f +0000002239 00000 n +0000002297 00000 n +0000002347 00000 n +0000000015 00000 n +0000000071 00000 n +0000000902 00000 n +0000001022 00000 n +0000001067 00000 n +0000001265 00000 n +0000001426 00000 n +0000001607 00000 n +0000001792 00000 n +0000001905 00000 n +0000002015 00000 n +0000002123 00000 n +trailer +<< +/Size 16 +/Root 2 0 R +/Info 4 0 R +>> +startxref +2459 +%%EOF diff --git a/docs/linkmap.html b/docs/linkmap.html new file mode 100644 index 00000000000..1c458d9a83c --- /dev/null +++ b/docs/linkmap.html @@ -0,0 +1,221 @@ + + + + + + + +Site Linkmap Table of Contents + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + +
+
+
+
+ +
+ + +
+ +
+ +   +
+ + + + + +
+ +

Site Linkmap Table of Contents

+

+ This is a map of the complete site and its structure. +

+
    +
  • +Hadoop  ___________________  site +
  • +
      + + +
        +
      • +Documentation  ___________________  docs +
      • +
          + +
            +
          • +Overview  ___________________  overview +
          • +
          + +
            +
          • +API Docs  ___________________  api +
          • +
          + +
            +
          • +Wiki  ___________________  wiki +
          • +
          + +
            +
          • +FAQ  ___________________  faq +
          • +
          + + + +
        +
      + + + + +
    +
+
+ +
 
+
+ + + diff --git a/docs/linkmap.pdf b/docs/linkmap.pdf new file mode 100644 index 00000000000..249aac4173e --- /dev/null +++ b/docs/linkmap.pdf @@ -0,0 +1,94 @@ +%PDF-1.3 +%ª«¬­ +4 0 obj +<< /Type /Info +/Producer (FOP 0.20.5) >> +endobj +5 0 obj +<< /Length 628 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatUpd;GF-'Sc(%$=BYHok\+W\4kXGgXN7(MR8;LW]Vtle:ln'^-4(QVZoq/O&DfcN$jdh\T4;],^XCeQgT?r!8lp)]65j#a?RXOZB:Aqn5/BeaS3X]7Q-H@mqq4q"KH]Jf%=KXNM@:(6:QR/XIWsQ0C?T^k,-aAX(DF2;8OqgfSY@@??g:e="q&atp&._T'G%*Z;]bJ1Q?W@citjAeb@qm;-9(j^:o12CDZ-_8MmaX%K..aMY1BnN<5S?C!=d_ogs)$83A"3ii&;FIY&;iX>hK[>ZX@;9lpUW&*d +endstream +endobj +6 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 5 0 R +>> +endobj +7 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F3 +/BaseFont /Helvetica-Bold +/Encoding /WinAnsiEncoding >> +endobj +8 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F5 +/BaseFont /Times-Roman +/Encoding /WinAnsiEncoding >> +endobj +9 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F6 +/BaseFont /Times-Italic +/Encoding /WinAnsiEncoding >> +endobj +10 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F1 +/BaseFont /Helvetica +/Encoding /WinAnsiEncoding >> +endobj +11 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F2 +/BaseFont /Helvetica-Oblique +/Encoding /WinAnsiEncoding >> +endobj +1 0 obj +<< /Type /Pages +/Count 1 +/Kids [6 0 R ] >> +endobj +2 0 obj +<< /Type /Catalog +/Pages 1 0 R + >> +endobj +3 0 obj +<< +/Font << /F3 7 0 R /F5 8 0 R /F1 10 0 R /F6 9 0 R /F2 11 0 R >> +/ProcSet [ /PDF /ImageC /Text ] >> +endobj +xref +0 12 +0000000000 65535 f +0000001451 00000 n +0000001509 00000 n +0000001559 00000 n +0000000015 00000 n +0000000071 00000 n +0000000790 00000 n +0000000896 00000 n +0000001008 00000 n +0000001117 00000 n +0000001227 00000 n +0000001335 00000 n +trailer +<< +/Size 12 +/Root 2 0 R +/Info 4 0 R +>> +startxref +1679 +%%EOF diff --git a/docs/skin/CommonMessages_de.xml b/docs/skin/CommonMessages_de.xml new file mode 100644 index 00000000000..bc461196e64 --- /dev/null +++ b/docs/skin/CommonMessages_de.xml @@ -0,0 +1,23 @@ + + + + Schriftgrösse: + Zuletzt veröffentlicht: + Suche: + Suche auf der Seite mit + diff --git a/docs/skin/CommonMessages_en_US.xml b/docs/skin/CommonMessages_en_US.xml new file mode 100644 index 00000000000..88dfe143118 --- /dev/null +++ b/docs/skin/CommonMessages_en_US.xml @@ -0,0 +1,23 @@ + + + + Font size: + Last Published: + Search + Search site with + diff --git a/docs/skin/CommonMessages_es.xml b/docs/skin/CommonMessages_es.xml new file mode 100644 index 00000000000..63be6712b30 --- /dev/null +++ b/docs/skin/CommonMessages_es.xml @@ -0,0 +1,23 @@ + + + + Tamaño del texto: + Fecha de publicación: + Buscar + Buscar en + diff --git a/docs/skin/CommonMessages_fr.xml b/docs/skin/CommonMessages_fr.xml new file mode 100644 index 00000000000..622569a4ffa --- /dev/null +++ b/docs/skin/CommonMessages_fr.xml @@ -0,0 +1,23 @@ + + + + Taille : + Dernière publication : + Rechercher + Rechercher sur le site avec + diff --git a/docs/skin/basic.css b/docs/skin/basic.css new file mode 100644 index 00000000000..eb24c326c6c --- /dev/null +++ b/docs/skin/basic.css @@ -0,0 +1,166 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +/** + * General + */ + +img { border: 0; } + +#content table { + border: 0; + width: 100%; +} +/*Hack to get IE to render the table at 100%*/ +* html #content table { margin-left: -3px; } + +#content th, +#content td { + margin: 0; + padding: 0; + vertical-align: top; +} + +.clearboth { + clear: both; +} + +.note, .warning, .fixme { + border: solid black 1px; + margin: 1em 3em; +} + +.note .label { + background: #369; + color: white; + font-weight: bold; + padding: 5px 10px; +} +.note .content { + background: #F0F0FF; + color: black; + line-height: 120%; + font-size: 90%; + padding: 5px 10px; +} +.warning .label { + background: #C00; + color: white; + font-weight: bold; + padding: 5px 10px; +} +.warning .content { + background: #FFF0F0; + color: black; + line-height: 120%; + font-size: 90%; + padding: 5px 10px; +} +.fixme .label { + background: #C6C600; + color: black; + font-weight: bold; + padding: 5px 10px; +} +.fixme .content { + padding: 5px 10px; +} + +/** + * Typography + */ + +body { + font-family: verdana, "Trebuchet MS", arial, helvetica, sans-serif; + font-size: 100%; +} + +#content { + font-family: Georgia, Palatino, Times, serif; + font-size: 95%; +} +#tabs { + font-size: 70%; +} +#menu { + font-size: 80%; +} +#footer { + font-size: 70%; +} + +h1, h2, h3, h4, h5, h6 { + font-family: "Trebuchet MS", verdana, arial, helvetica, sans-serif; + font-weight: bold; + margin-top: 1em; + margin-bottom: .5em; +} + +h1 { + margin-top: 0; + margin-bottom: 1em; + font-size: 1.4em; +} +#content h1 { + font-size: 160%; + margin-bottom: .5em; +} +#menu h1 { + margin: 0; + padding: 10px; + background: #336699; + color: white; +} +h2 { font-size: 120%; } +h3 { font-size: 100%; } +h4 { font-size: 90%; } +h5 { font-size: 80%; } +h6 { font-size: 75%; } + +p { + line-height: 120%; + text-align: left; + margin-top: .5em; + margin-bottom: 1em; +} + +#content li, +#content th, +#content td, +#content li ul, +#content li ol{ + margin-top: .5em; + margin-bottom: .5em; +} + + +#content li li, +#minitoc-area li{ + margin-top: 0em; + margin-bottom: 0em; +} + +#content .attribution { + text-align: right; + font-style: italic; + font-size: 85%; + margin-top: 1em; +} + +.codefrag { + font-family: "Courier New", Courier, monospace; + font-size: 110%; +} \ No newline at end of file diff --git a/docs/skin/breadcrumbs-optimized.js b/docs/skin/breadcrumbs-optimized.js new file mode 100644 index 00000000000..507612af872 --- /dev/null +++ b/docs/skin/breadcrumbs-optimized.js @@ -0,0 +1,90 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +var PREPREND_CRUMBS=new Array(); +var link1="@skinconfig.trail.link1.name@"; +var link2="@skinconfig.trail.link2.name@"; +var link3="@skinconfig.trail.link3.name@"; +if(!(link1=="")&&!link1.indexOf( "@" ) == 0){ + PREPREND_CRUMBS.push( new Array( link1, @skinconfig.trail.link1.href@ ) ); } +if(!(link2=="")&&!link2.indexOf( "@" ) == 0){ + PREPREND_CRUMBS.push( new Array( link2, @skinconfig.trail.link2.href@ ) ); } +if(!(link3=="")&&!link3.indexOf( "@" ) == 0){ + PREPREND_CRUMBS.push( new Array( link3, @skinconfig.trail.link3.href@ ) ); } +var DISPLAY_SEPARATOR=" > "; +var DISPLAY_PREPREND=" > "; +var DISPLAY_POSTPREND=":"; +var CSS_CLASS_CRUMB="breadcrumb"; +var CSS_CLASS_TRAIL="breadcrumbTrail"; +var CSS_CLASS_SEPARATOR="crumbSeparator"; +var FILE_EXTENSIONS=new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" ); +var PATH_SEPARATOR="/"; + +function sc(s) { + var l=s.toLowerCase(); + return l.substr(0,1).toUpperCase()+l.substr(1); +} +function getdirs() { + var t=document.location.pathname.split(PATH_SEPARATOR); + var lc=t[t.length-1]; + for(var i=0;i < FILE_EXTENSIONS.length;i++) + { + if(lc.indexOf(FILE_EXTENSIONS[i])) + return t.slice(1,t.length-1); } + return t.slice(1,t.length); +} +function getcrumbs( d ) +{ + var pre = "/"; + var post = "/"; + var c = new Array(); + if( d != null ) + { + for(var i=0;i < d.length;i++) { + pre+=d[i]+postfix; + c.push(new Array(d[i],pre)); } + } + if(PREPREND_CRUMBS.length > 0 ) + return PREPREND_CRUMBS.concat( c ); + return c; +} +function gettrail( c ) +{ + var h=DISPLAY_PREPREND; + for(var i=0;i < c.length;i++) + { + h+=''+sc(c[i][0])+''; + if(i!=(c.length-1)) + h+=DISPLAY_SEPARATOR; } + return h+DISPLAY_POSTPREND; +} + +function gettrailXHTML( c ) +{ + var h=''+DISPLAY_PREPREND; + for(var i=0;i < c.length;i++) + { + h+=''+sc(c[i][0])+''; + if(i!=(c.length-1)) + h+=''+DISPLAY_SEPARATOR+''; } + return h+DISPLAY_POSTPREND+''; +} + +if(document.location.href.toLowerCase().indexOf("http://")==-1) + document.write(gettrail(getcrumbs())); +else + document.write(gettrail(getcrumbs(getdirs()))); + diff --git a/docs/skin/breadcrumbs.js b/docs/skin/breadcrumbs.js new file mode 100644 index 00000000000..aea80ec045b --- /dev/null +++ b/docs/skin/breadcrumbs.js @@ -0,0 +1,237 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +/** + * This script, when included in a html file, builds a neat breadcrumb trail + * based on its url. That is, if it doesn't contains bugs (I'm relatively + * sure it does). + * + * Typical usage: + * + */ + +/** + * IE 5 on Mac doesn't know Array.push. + * + * Implement it - courtesy to fritz. + */ +var abc = new Array(); +if (!abc.push) { + Array.prototype.push = function(what){this[this.length]=what} +} + +/* ======================================================================== + CONSTANTS + ======================================================================== */ + +/** + * Two-dimensional array containing extra crumbs to place at the front of + * the trail. Specify first the name of the crumb, then the URI that belongs + * to it. You'll need to modify this for every domain or subdomain where + * you use this script (you can leave it as an empty array if you wish) + */ +var PREPREND_CRUMBS = new Array(); + +var link1 = "@skinconfig.trail.link1.name@"; +var link2 = "@skinconfig.trail.link2.name@"; +var link3 = "@skinconfig.trail.link3.name@"; + +var href1 = "@skinconfig.trail.link1.href@"; +var href2 = "@skinconfig.trail.link2.href@"; +var href3 = "@skinconfig.trail.link3.href@"; + + if(!(link1=="")&&!link1.indexOf( "@" ) == 0){ + PREPREND_CRUMBS.push( new Array( link1, href1 ) ); + } + if(!(link2=="")&&!link2.indexOf( "@" ) == 0){ + PREPREND_CRUMBS.push( new Array( link2, href2 ) ); + } + if(!(link3=="")&&!link3.indexOf( "@" ) == 0){ + PREPREND_CRUMBS.push( new Array( link3, href3 ) ); + } + +/** + * String to include between crumbs: + */ +var DISPLAY_SEPARATOR = " > "; +/** + * String to include at the beginning of the trail + */ +var DISPLAY_PREPREND = " > "; +/** + * String to include at the end of the trail + */ +var DISPLAY_POSTPREND = ""; + +/** + * CSS Class to use for a single crumb: + */ +var CSS_CLASS_CRUMB = "breadcrumb"; + +/** + * CSS Class to use for the complete trail: + */ +var CSS_CLASS_TRAIL = "breadcrumbTrail"; + +/** + * CSS Class to use for crumb separator: + */ +var CSS_CLASS_SEPARATOR = "crumbSeparator"; + +/** + * Array of strings containing common file extensions. We use this to + * determine what part of the url to ignore (if it contains one of the + * string specified here, we ignore it). + */ +var FILE_EXTENSIONS = new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" ); + +/** + * String that separates parts of the breadcrumb trail from each other. + * When this is no longer a slash, I'm sure I'll be old and grey. + */ +var PATH_SEPARATOR = "/"; + +/* ======================================================================== + UTILITY FUNCTIONS + ======================================================================== */ +/** + * Capitalize first letter of the provided string and return the modified + * string. + */ +function sentenceCase( string ) +{ return string; + //var lower = string.toLowerCase(); + //return lower.substr(0,1).toUpperCase() + lower.substr(1); +} + +/** + * Returns an array containing the names of all the directories in the + * current document URL + */ +function getDirectoriesInURL() +{ + var trail = document.location.pathname.split( PATH_SEPARATOR ); + + // check whether last section is a file or a directory + var lastcrumb = trail[trail.length-1]; + for( var i = 0; i < FILE_EXTENSIONS.length; i++ ) + { + if( lastcrumb.indexOf( FILE_EXTENSIONS[i] ) ) + { + // it is, remove it and send results + return trail.slice( 1, trail.length-1 ); + } + } + + // it's not; send the trail unmodified + return trail.slice( 1, trail.length ); +} + +/* ======================================================================== + BREADCRUMB FUNCTIONALITY + ======================================================================== */ +/** + * Return a two-dimensional array describing the breadcrumbs based on the + * array of directories passed in. + */ +function getBreadcrumbs( dirs ) +{ + var prefix = "/"; + var postfix = "/"; + + // the array we will return + var crumbs = new Array(); + + if( dirs != null ) + { + for( var i = 0; i < dirs.length; i++ ) + { + prefix += dirs[i] + postfix; + crumbs.push( new Array( dirs[i], prefix ) ); + } + } + + // preprend the PREPREND_CRUMBS + if(PREPREND_CRUMBS.length > 0 ) + { + return PREPREND_CRUMBS.concat( crumbs ); + } + + return crumbs; +} + +/** + * Return a string containing a simple text breadcrumb trail based on the + * two-dimensional array passed in. + */ +function getCrumbTrail( crumbs ) +{ + var xhtml = DISPLAY_PREPREND; + + for( var i = 0; i < crumbs.length; i++ ) + { + xhtml += ''; + xhtml += unescape( crumbs[i][0] ) + ''; + if( i != (crumbs.length-1) ) + { + xhtml += DISPLAY_SEPARATOR; + } + } + + xhtml += DISPLAY_POSTPREND; + + return xhtml; +} + +/** + * Return a string containing an XHTML breadcrumb trail based on the + * two-dimensional array passed in. + */ +function getCrumbTrailXHTML( crumbs ) +{ + var xhtml = ''; + xhtml += DISPLAY_PREPREND; + + for( var i = 0; i < crumbs.length; i++ ) + { + xhtml += ''; + xhtml += unescape( crumbs[i][0] ) + ''; + if( i != (crumbs.length-1) ) + { + xhtml += '' + DISPLAY_SEPARATOR + ''; + } + } + + xhtml += DISPLAY_POSTPREND; + xhtml += ''; + + return xhtml; +} + +/* ======================================================================== + PRINT BREADCRUMB TRAIL + ======================================================================== */ + +// check if we're local; if so, only print the PREPREND_CRUMBS +if( document.location.href.toLowerCase().indexOf( "http://" ) == -1 ) +{ + document.write( getCrumbTrail( getBreadcrumbs() ) ); +} +else +{ + document.write( getCrumbTrail( getBreadcrumbs( getDirectoriesInURL() ) ) ); +} + diff --git a/docs/skin/fontsize.js b/docs/skin/fontsize.js new file mode 100644 index 00000000000..11722bfc52f --- /dev/null +++ b/docs/skin/fontsize.js @@ -0,0 +1,166 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +function init() +{ //embedded in the doc + //ndeSetTextSize(); +} + +function checkBrowser(){ + if (!document.getElementsByTagName){ + return true; + } + else{ + return false; + } +} + + +function ndeSetTextSize(chgsize,rs) +{ + var startSize; + var newSize; + + if (!checkBrowser) + { + return; + } + + startSize = parseInt(ndeGetDocTextSize()); + + if (!startSize) + { + startSize = 16; + } + + switch (chgsize) + { + case 'incr': + newSize = startSize + 2; + break; + + case 'decr': + newSize = startSize - 2; + break; + + case 'reset': + if (rs) {newSize = rs;} else {newSize = 16;} + break; + + default: + try{ + newSize = parseInt(ndeReadCookie("nde-textsize")); + } + catch(e){ + alert(e); + } + + if (!newSize || newSize == 'NaN') + { + newSize = startSize; + } + break; + + } + + if (newSize < 10) + { + newSize = 10; + } + + newSize += 'px'; + + document.getElementsByTagName('html')[0].style.fontSize = newSize; + document.getElementsByTagName('body')[0].style.fontSize = newSize; + + ndeCreateCookie("nde-textsize", newSize, 365); +} + +function ndeGetDocTextSize() +{ + if (!checkBrowser) + { + return 0; + } + + var size = 0; + var body = document.getElementsByTagName('body')[0]; + + if (body.style && body.style.fontSize) + { + size = body.style.fontSize; + } + else if (typeof(getComputedStyle) != 'undefined') + { + size = getComputedStyle(body,'').getPropertyValue('font-size'); + } + else if (body.currentStyle) + { + size = body.currentStyle.fontSize; + } + + //fix IE bug + if( isNaN(size)){ + if(size.substring(size.length-1)=="%"){ + return + } + + } + + return size; + +} + + + +function ndeCreateCookie(name,value,days) +{ + var cookie = name + "=" + value + ";"; + + if (days) + { + var date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + cookie += " expires=" + date.toGMTString() + ";"; + } + cookie += " path=/"; + + document.cookie = cookie; + +} + +function ndeReadCookie(name) +{ + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + + + for(var i = 0; i < ca.length; i++) + { + var c = ca[i]; + while (c.charAt(0) == ' ') + { + c = c.substring(1, c.length); + } + + ctest = c.substring(0,name.length); + + if(ctest == name){ + return c.substring(nameEQ.length,c.length); + } + } + return null; +} diff --git a/docs/skin/getBlank.js b/docs/skin/getBlank.js new file mode 100644 index 00000000000..d9978c0b3e6 --- /dev/null +++ b/docs/skin/getBlank.js @@ -0,0 +1,40 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +/** + * getBlank script - when included in a html file and called from a form text field, will set the value of this field to "" + * if the text value is still the standard value. + * getPrompt script - when included in a html file and called from a form text field, will set the value of this field to the prompt + * if the text value is empty. + * + * Typical usage: + * + * + */ + diff --git a/docs/skin/getMenu.js b/docs/skin/getMenu.js new file mode 100644 index 00000000000..b17aad61858 --- /dev/null +++ b/docs/skin/getMenu.js @@ -0,0 +1,45 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +/** + * This script, when included in a html file, can be used to make collapsible menus + * + * Typical usage: + * + */ + +if (document.getElementById){ + document.write('') +} + + +function SwitchMenu(obj, thePath) +{ +var open = 'url("'+thePath + 'images/chapter_open.gif")'; +var close = 'url("'+thePath + 'images/chapter.gif")'; + if(document.getElementById) { + var el = document.getElementById(obj); + var title = document.getElementById(obj+'Title'); + + if(el.style.display != "block"){ + title.style.backgroundImage = open; + el.style.display = "block"; + }else{ + title.style.backgroundImage = close; + el.style.display = "none"; + } + }// end - if(document.getElementById) +}//end - function SwitchMenu(obj) diff --git a/docs/skin/images/README.txt b/docs/skin/images/README.txt new file mode 100644 index 00000000000..e0932f4a46d --- /dev/null +++ b/docs/skin/images/README.txt @@ -0,0 +1 @@ +The images in this directory are used if the current skin lacks them. diff --git a/docs/skin/images/add.jpg b/docs/skin/images/add.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06831eeb3ddf196c72e23557e0ed23ab5eebef14 GIT binary patch literal 1142 zcmex=8LQWSUGXZw=a9;-CH1opy?hi@Re9OjXnTmIP&sRNi|KfA6jNG!RuT!@9YtHw( z9erp2Zq<%rjVqhBF6#`j(Nz7-sP^lFKTm1Gh0D`qPDac0FaMRdT;F`zq?kW-W@pz% ze5s1wt~F!ht0dJ-6Wtq2zbVbV=fB~?vunDX+mkr&9obTxINM8acHwgGD`nz_>c8~X z#64k4<|uMwTb-nlGND71x8e8h0CS_Z??Mj^qF+we3cIj#)xArPJbFc z1J^&EzSnzGz5a8z`w3oY3k27{($?ztW&09(=ivnpp{KI7WqXY09TH4GKIhxFx{~WE za;gV-Un(Aaa&M}6?~U3j!7KUi>iU;l*gowzla$PHmbcrJ<^Kv-hZ^4yNZ?w%@WRrg z9hKMiif_BPt>>(?=HJZAb?S+a3uMc;RsFTId)L4BO>y9_%h9vu@!Dqx|QqvyOz9SIJ(F^=e;T^m(oCzw|lXRk=EsYqq%^ zT`d)L>*v{G>#v@6=iH9&5}xL?Y5R3H&Bwh9=Y-v2RZ~9aIrWlLlqS2Jh$?@c!KtzFq_@~|twFFteiZSS44jqO(VSv>5s zSk$Z3r4sR|%QU3V;-b@%!bJ@$Iu>ZHYFM=ZnC>fE$}45(-kf`P=H0v9*1LrwXLhOr z(Tqu+Dw97yVxO<^>3%?xVY_#66#K#toTr`}oRP~sdOKTC=ER@XAKDdr{M$Kf7M%Ki l%F17_Xw@h6ZS#V!{>|Nxc>kE literal 0 HcmV?d00001 diff --git a/docs/skin/images/built-with-forrest-button.png b/docs/skin/images/built-with-forrest-button.png new file mode 100644 index 0000000000000000000000000000000000000000..4a787abe4dc7831124c5a3105d328309d671654e GIT binary patch literal 1936 zcmeAS@N?(olHy`uVBq!ia0vp^5kM@@!3-or#C}}@QVJ!m5hWp+B{``KPNkVSB?{%4 zB^e5i1&PTSsS0lSMMbH_C5p!XSU`qIg48;emSp4?F%*}imZj$9IV6Hr>g5-upPn-{ z7N|%Aq{unHpt2}4J)?vn1ZWJ@wBY=-lJdkNkg=tCDTyVS`FXqD1Vn&(#K3xrQo&*h zA(^?U42FjK2B!K3Mr$wBh5%Ktmw5WRvR~q672y_j(|Vu{6yhxKh%9Dc;Q9c)(aAfd*^e>N}8ml8GDLnbh$Vh8yg>#P$;PF zC>QelbcQQ9twO^-_C801qj=2GblKSS!fj&e!5;2=cvDr4f*v|q3raa`n#2k(0Hfotk0b1J=Zc zVix-wb&f*FNxFAB>YkC+NOHE=$eo>CQlF6FW+Y*C$UweP(%~&@q>7f$#X#{A z;Q~QbwWpj0XSnm#bgimu&2m(IKJ4T((08AzspZ9!kdUPob@ zhUPNf9CfQG1}XglS^Z_=`jsLf7uek{k1Lkt=SCSE_Dw?nen%L4B7i^>@v~C&d=nR^FdJVP^0Cp33}tc?Gq$O(FfPpv_~AIPICFic;5W(Z>PHY@&p}`TbikKkV444Jk93Se-mtf*V{`vIwng zXu9Mqxh&@_YxVKtE1Q|E&EFj=C=gTZUe?$exv?(b$cHuUKkhedO?dx=U+Qq@<*v^rKUcg+uGXdSD-c1$LjDs$D3&%&n#_h{2#BhC!i@(`b;D9TORRq zdb5xI_xrb_^#0kXwa*@ycsr?PYU?avxGJe9GyUl7*!OiS zyFPrgF>;P=eC379dw#zycy~ibF5adl<@V%<|Ac&Q-%p5$abw8I1(|q!`K$Bs-$Ufi zn-NYN)w4{zw?yhbQXIC#@eD+l6OwziP6C9qB=6m^)Bp&s4|Xb_eY#M_>}{ahob-+F#617?*~$q0=_@T*^V)U2LV1m;&(&(TU%TRD_D(n) zkt5*A;KlgCw)x%rA4f%Q=dtWM=lnF0i|2Y{YvH!Kii;L@-PURI*lQP0-t8T_&{^nm zamG&RnUcY0o~~6qWBy(4eNK5~Ox(I2w%NP3-IJSYEYXC!` B3(^1p literal 0 HcmV?d00001 diff --git a/docs/skin/images/chapter_open.gif b/docs/skin/images/chapter_open.gif new file mode 100644 index 0000000000000000000000000000000000000000..eecce18b50a0146d663334eb5b38691fa40b4d5a GIT binary patch literal 49 zcmZ?wbhEHbWM^PuXkcJiy6xEi|Nj+#vM@3*Ff!;c00Bsbfr+Dqzfm%aH&TPa8UR61 B3ljhU literal 0 HcmV?d00001 diff --git a/docs/skin/images/current.gif b/docs/skin/images/current.gif new file mode 100644 index 0000000000000000000000000000000000000000..fd82c082012faa682ecd4e68d2eedef9ae2e6231 GIT binary patch literal 54 zcmZ?wbhEHbdvgf9JlRm%f*ED|^)zR->+Co862^^pk!u5$EP!3fjzw8XU#}8Il-2 zEI`Z*Zh{lXkg>50Py~%EL5*|HpdHu^uz_@DjRE$?+OB>2cHigy_~CiltzA2q(dY-R zE0ws?)uol-wpiR0>Zwh8gwrE{IE4kjFcsa zE<)u6=*0rOQdlXmQsSg~b2v>_e&*;)omVU%Jn>|M%;yddYu#v-EI}s0b+HN;3oue* zQpwmBX(`VSO8MC}-CeIu#fheb@BCT0%4VJ)QmWBvMb)yUR4#8pr71Q^aZ=)y#HSK3 zi^EBYPE(AO)UWyiAN=;Wkbp|%%%IeP9kb@tPsPeiHEF9Vw+tJ-#7Rk}u8!&z%Kp{@mlFk3&u$Ct;y9Gvwjj5D*FIBO$!^50-oB?3Lr$5Eqo7T}kG=xr4bXpv< z*R5s2hBg2OdwSTmay3J5pCob)Pe6dk!R?o=fVuO#q_s7>Q>ALh8Y@Tzqa&PbKSJ$w z&E#upxTXuR!K0ET*c*tT*NLtS0W6A@QMF#>Raf`zl9=%LrG z(NhYzXXUD;0X283s6e9Dd0|~m^4KvDJaG4riJ9HtH#%5 zaygn>T9_F{)I}5FE|f$7HUxB-XnqrXz$VE+aIOd*cRo4pZbnIJuD_l|_iaJMF{b2v z6}7djx&K}&m8Sc#-9!PrU_5gRxDe1l5`6!(6;Mgig`AkVPSWw?R@KtNqOJE6WwThV z+4@nHho0%-^oygxpzfTX|wxJzZvc-fOu>C=>| zWlLH7!>vTQ9Nsy0-SQ1y|IGoCW5@W#+E(;vf`}qM|Il_CZf<3SfDQp$f?ERp-nl;S z+NTw;=$B7>lP1rNXI_F=E^cP=_6LZ{%5c{5*sUA+`*Xi$P8>5giWz;mgJ)WAMvsmX z#WAaY@?#plw2I^+xCzkb{lQLarr!d9k z_v$o7%i?F%JCApceRpoAeb3$ra3{b8hy|QJc!>RN8!%Ghyr<7QhJ!~2&s)|WI_2C8 zlX+9#2cBNKd`5+_uVl4q)Ka1AW^ksWoPTt7QWr&B9mSL(CUm+3ObDbQ5M6r>eco}V zyPH{2Ou_rXE^AhFTHXDg1OV)8Y+6!n%%QwCGo>*Mc!vy7E+AWiy9vi^%ya@W1crjg z0tN47w>4ipX7%r<;#~Gh_Wc?4%W8Z$P%Xp)AHtZQ<1PX^iU#9K^J87Fg6E{OgWcAy ze`OjtOmQE$IQ}S;cbYPp{R$ccVo@xF@LXyzMb|4n8(_dYPB{Cg6VBe)X-&uF81MO7 zeoIC54K*UVy+Vi^D}^YFgdmi%H3SkLIPab7_5R>lZ+EWYIZTJA00000NkvXXu0mjf DMgv2X literal 0 HcmV?d00001 diff --git a/docs/skin/images/external-link.gif b/docs/skin/images/external-link.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff2f7b2a0edcd149b45744fdcb0868e37143710c GIT binary patch literal 71 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 P00000NkvXXu0mjfVyU~g literal 0 HcmV?d00001 diff --git a/docs/skin/images/hack.jpg b/docs/skin/images/hack.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f38d50fe4e87cb4ede05ce4b6f124460b77f2a0f GIT binary patch literal 743 zcmex=i3*BJ!6k`h{6D}T z$iX1OAi~Tj$iO7X$SlbC{|JKw10w@7BLfm(XJ%pJ0LrKcFfc&?GgOv|nURH6kWENf zkwJ-FL|MfMs7f5@Q$`g1tjr8-KnXQL1_q#~fqGzOGcpM(GO!prCNi@M1qv57PW)i> z{}uxePyv%5vmk>#!z=Hw)gfzchs_dwb)6~u-lc{J9p#OZ6SG*{l#7i&yEVyNe`52m z?8<(|$z{?4i%i3(tlGKv6RT2AO_XoH_ze@T4q^E^|1Do4E?duNoY48XDn;^jy+5zl z+XU5E*B@I8^sa2*)?&wgVr`M0ezaz8!s?*grt`V(_w>!37OKV~GNofv@IAJ)s`t@z z^FlA$8!_%?Z7SXJL&p2U66xZ5uJx0j=v`Qu{B@(m?4Vh@_!qo9xtn^QNZp*i{dALZZD-PQj)&8J`hMPbAhvS`-8>JA6F4^r=zKIWe^-BH${BtgXXyz|z4k0IlcQSn1w>fm t4@cY%T^+SFHFVX2^CbaS}9ZZyUVQ>#nGL-7*pWflJ-z4MzO#pq+?lJ%X literal 0 HcmV?d00001 diff --git a/docs/skin/images/header_white_line.gif b/docs/skin/images/header_white_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..369cae8dcf2da7d30c4ed7a8781b6bdf95a022d6 GIT binary patch literal 37 pcmZ?wbh9u|6k%XwXkcLY|NsA?3y*XdfB+=Iz{JwhKa-Wg8UV|E3E%(# literal 0 HcmV?d00001 diff --git a/docs/skin/images/info.png b/docs/skin/images/info.png new file mode 100644 index 0000000000000000000000000000000000000000..2e53447e8c2446ea0f6a56fec811e1786e691d49 GIT binary patch literal 1320 zcmWlXZ&1?)7>7&1q8${icL>E5?6e0xt=eJLszo9c2$*4!0MS*JoAHQRSf*8T8ZdHE zdRib#rv*B$t7TU0vk_F6krFk# z{0M25qh^EI4M??m+775mn6kUQeL~QvCalpgYqHn@xlXRFsY7J;T8#q3zT}0 zu;LUag($-0k|C^~pi$aJ+k6t3L20L!v>^lo$Y9Rx2UH}^x-^6ZHrfE0PN-#QtCz1f z$hAb9uTRgoFxDjmDTUq~4U%GrF>-CTwtj@536oo*Mj+BAL(FDpH_5djlwFBglzL7_ zImJ4Y0yT+YMx>=BIuoEW@TH&(ra*%YrCmY|X|i|o6{wD~Tikw$3IUXOG{hP$UI}P` zNV`bOptuoZ-C~#(g27uJi_6d2y8*c#P~aNE3LEVTJtu+~HExxooWbm&tX?T%mZ4_8 znv4$qX=ww*Y5_<~btZ&z;;h@(_dw6OL7bDotl8-=iC<6|G$~}44$kAP9Ua1hVMbYI z(YHL_C!&vp+epy%d z_3j;s5joeyGfxrfn#PmK8C#pN@SD3&FD!}K(X#nWD%6oXH({C}Y6y*4m3X)(buAR@ z4_u-yOwl?l(jk_j&-{tbZdh$!_x1T+6Jg2bX;OMh!&bv=a;{VYmguFkd>YejL z(yTq&UT55&C3U5Wc1=z%)jo#Yy zen~|sWUbU>aWPdDk^bhLbiZ$$`@YGsl+Uv~3ilO$Jt!N&UyaY^nfEtyNxtf*>aZ0P zYs$CH`_7_B`7<&$#o^RQSmo zVQlJ$#Y0d3y_u4%5I*UAefd&)*3;{b6J4v+)5D0SPOme`?20|p-rCw|0gnzQ=TAF# z^l^V6aX8}eo%wKHvLh@tv_@JJd7i&)WJBOUUKy47jkq_-)i|*w;aVUrH|R!ZNY~pb U&-nRQwxE@~taLcd4Hh&10}nn9o^tnS&|T3i>qxFe$? f}PJadT6$68(tDnm{r-UW|L@jfU literal 0 HcmV?d00001 diff --git a/docs/skin/images/label.gif b/docs/skin/images/label.gif new file mode 100644 index 0000000000000000000000000000000000000000..c83a3893c5526efb52f2edab685a1b0d7a1ecc74 GIT binary patch literal 54 zcmZ?wbhEHbdhCYGe8D3oWGWGIAWq$;?3`UWs4{$yd~ fVqj#@VE_V<76vBXp8m=M4RQ+_jm%nu85yhr=NMS;ykzBV zGV@+Ib>8iG+0i+5o5%e;$DOmCbGDtGouBno)Pp@O`xkod^YDHAe&7q={KCBSjEXQs zia-R}v;dr7tR!PTU@gZjorczO*Y4(!3udEUXj^5nt6CcbI=M{9lA3*v!R*V{5Xk12*s*W`tyJQzcOyP zZ|4nGYCwl+^~R>oQ9yIziSOk@uI9c7MHdfo+O=dPhNjo`t2TAlmN1bw7PY!& zb8wiMUN#=~j?AJaqD?aaD8@$vs`?(gvBH&H+cp7{2^cJn$wdq^+uv$+z|MKKt+?hr z*QsL5i(y(cUzD}JiFa$qb^-fga2lYfPWKeWPkU;dXzH zDz+;0UGiO>WV7RjIU=PTtqnMrXIV?F-0jLxCcN%Rd*oPrek$=zU&fPf)RHo>wLjZ` v{OiZh;9_~M^1Bpx^As`Ho2BPVXIo0*@-_bK23aA9FY1)%eyY46N3#9^6k+17 literal 0 HcmV?d00001 diff --git a/docs/skin/images/poddoc.png b/docs/skin/images/poddoc.png new file mode 100644 index 0000000000000000000000000000000000000000..a393df7372349f6df300eacf8d62987dba6f85aa GIT binary patch literal 856 zcmV-e1E>6nP)004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00004XF*Lt006syVXTxM00006 zVoOIv0RI600RN!9r;`8x010qNS#tmY4#WTe4#WYKD-Ig~00O*8L_t(|+QpVTNE|^J z$A2fM1T`LdK8|#PiddK?TFD{e3)I2~C^izoQX5IcN=2)r5d^`Af`y%hg(!sB1jJZ~ zhhQQ2xbuN2jD|xCJ-y4!uDkAD*4y(U^S#%Bffg1Pd~Ubu+KBq}=IwO^pm2rcF!(l?9kaD>;J^+QI_c}?CwAUL!v{63b zMSwIAqZURm`P~-C@AoSl%Ul|ean#u3@mK?mz^4>(UJ5^_rrx+pOJh1dEH4pbk^qc| zxl{Vd?dDxqS8R>E@IiO~%8JU*q-C#{P-mxZ#<)zE2x%c6UoZ>}L4H2$?ZMa>l$5Az zCnqp40PXEiQ={%(Ux)d5xVqAT?1CXlpEWmw&j&3nP+JR&i!e6_d3i883OPBDoD7?r z(Ax`*jr!5wmzQj8Y$$vp9wq^w1`@Agd>pp7p{ECymW1(_Rc*9OkB?zu0%m5QzFt52 zIwONp5k!(jWwFu7;ZU_IFNgDUI6PF>PfsBw#e8aa7qYWWK9VNW%oiI-Qd5&^mWvCx zzE;=L)BgraO_f<|84UJ5lBVnKhSgPATT?+LwYI{+f%#Nf8EkDmS@Y~Q(i21YCNmR; zhoPb2F}ErzV0IP?3QYMH3+f~e}F{5Y&DV_64k;u-pUk+1@tdkX!Dz!8_URaM9J0C iRWA_nQh{&$5BdZ3oY`MtoEnh;0000axdUs$VmXNZB}bC%VxwSp6_waJ)d|kVIc)zPRqeIZZsP!%PWP&!rJ{ccrcVef_824V*rcNe`YK8X6u^&TVfiYDOC!)l_wikn`gg#xkmuz4&!! zCzsZ~Q+eXo?}^E*8nm^kOS`apx&1SHP xOSk{*ch5;mUqxD8)P4*PsMYcJGhc`tpL?Kv*ou)#zg(Cser$hB&OAcs)<55`ex3jT literal 0 HcmV?d00001 diff --git a/docs/skin/images/rc-b-l-15-1body-2menu-3menu.png b/docs/skin/images/rc-b-l-15-1body-2menu-3menu.png new file mode 100644 index 0000000000000000000000000000000000000000..dd790d316973eecd070581ad25d32085791f34dd GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^{2|H(?D8gCb5n0T@z;^_M8K-LV zNdpBhdAc};RNP9A+4=a%f7R%I!$1GeI~XM-EnqMxEZk(gVbg{Q%Okx)7*@=*VK-QL zvfKF2kFV`EXKi9+crH2IK6!~p$tL%UgvE`Blb7G*EIfMP$PtfuX?|s9Z7lWDlXBbH zH@9!qYi`=Y;i=b|H(?D8gCb5n0T@z;^_M8K-LV zNdpB}c)B=-RNPAba`NT>^A2nYDJcmFNedVzterWvwN>b>&y(zbA7AtToVC=I^~B{f z2alb4kh$1>UYeSk8(TWJ?j_Ua9N!Py6Cb3cEBhLsaAVCBWaH0{z4SmYVk8n2kM%1ozqaJpqKqS}C6{nMaSwRV@Q0&V xt1E4WgvQ#YNirHw8-y4%Z@aSi(0Xy3a iho}jx3!3aDE-*51UDf=}C~*tqE(T9mKbLh*2~7Z%#W_v@ literal 0 HcmV?d00001 diff --git a/docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png b/docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..07e5ebeb723d1558f378dd2984fbae6323eb5692 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6yYrJh%9Dc;5!1sj8nDw zq=AA#o-U3d6}OWA@U!qZe0YDqzHN2+e4{%xALcZ&s(g6Z@aSi(0Xy3a iho}jx3!3aDE-*51UDf=}C~*tqE(T9mKbLh*2~7Z%#W_v@ literal 0 HcmV?d00001 diff --git a/docs/skin/images/rc-t-r-15-1body-2menu-3menu.png b/docs/skin/images/rc-t-r-15-1body-2menu-3menu.png new file mode 100644 index 0000000000000000000000000000000000000000..5e44a80812b618dfea44a74673cc51404f407d19 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^{2|H(?D8gCb5n0T@z;^_M8K-LV zNdpCcdAc};RNP9A+4}iOJ)6RVCkg2jghUepCX1&(c=#wmfo+4%y&|4738{&UNosBK z`~MkuF!O%gaxuAJ+l8bDDd~q-&Wt>JW-;TDAHUzrAAWCNFZu8P|MMR{o-S`&T|Un! z=T5!c3$8LY(MUr!H#aw)vpzd~{(gLIet5h5eu-ym?au^U+u!x@@$>v6*=}Y}z8#*< zvs2bvV&DHiuCvl+Ot-7~cTOP8sQ2OL>+(x7*%$*N3=9p8OwQinNSnMwlI7pu-{(I( zcq!c`>#jd}oun8Wx0xK{@A)Zb4aDEr7WUelRk*!fey7X4G=Yj=znFi{vb+&-;`*Q8 h=k2{r{wFdp>{*ntJ^fO#IxrL%JYD@<);T3K0RWEdpe_Ia literal 0 HcmV?d00001 diff --git a/docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png b/docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png new file mode 100644 index 0000000000000000000000000000000000000000..cbaea9c9a7e5fb4c19a7a1a7166a2078c9fd255e GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6yYrJh%9Dc;5!1sj8nDw zq=ACYo-U3d6}OWAe0lk{o=qVk`7uM1ADf$-8{4$=^Y1krX^>H46B9FI6AX-GQ)AQk t@&CX4;rI9LCE{%McMG^oJ0ifs$k5s^boiu%PZiKO22WQ%mvv4FO#t6uJI??B literal 0 HcmV?d00001 diff --git a/docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png b/docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe87de61938c18d2682727c20c9faa2a6fd83a7 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$61|)m))t&+=g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!a1C(G(@^*J&_z!{$_AZ|c6yYrJh%9Dc;5!1sj8nDw zq=AC|o-U3d6}OUO_P)MS&!!L%J|X2o*tE2Sq@H46B9FI6AX-GQ)AQk t@&CX4;rI9LCE{%McMG^oJ0ifs$k5s^boiu%PZiKO22WQ%mvv4FO#t6uJI??B literal 0 HcmV?d00001 diff --git a/docs/skin/images/remove.jpg b/docs/skin/images/remove.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8c9b9efa8fe95d823706ee9a211f34a0eb6f010a GIT binary patch literal 1251 zcmex=TL z>B-E7X2&P~a4`6jwh^=64%N$KvYWpfx`zxWxwdqUOnSC!Nz1SzY(ekLziD#x^ zN5c#+_UIeyY-pcs;P~|OA~k0Xi4!{~wTsAVnY=KnKKB0f`iUPuesXv@{Yci~8^Yz; ze$Gr6yrcD=n6CQspW#+>&)4KPoVTPS*P1y_xgl9G>4Qerv-iJzj6I!?I`hUW=Uv;# zHL>yT)$${4S$`XkoKG^9y{xuxQw?uJf!VPYKQ*7-)s9v(dui5j;p*Lw-?h_ZE}fNP znwi!fr^&uU)A`}8>{ko!=Ix#T_|WcYS)p$px382xAu?rN%}Uqp&Q)t>SDty!{&wjU zF$1}Yb2`GEzRw9aTyRJxLO(N-d%~h~3;r!CocN-C`qZPZEBp0d?V0X;_S@7qkG}EW zu$cJqO5oK~FE(#jvTvWQ_qU8sn~sKLX5RGeejKvAxN5rQtVLh$3bizMgenJ$X;1#o zkZV6ctbo!DryG5`U%cNA- z37SIO>Jn2uPEOf&tRRquW%=UskTnw*lL4j4_oQFx5`5PDln65ExUE?CQL56{W=O6>4%t1lHGeC6k3=o{392#=l uSM0X)>rLCYt$Mw3&7xT=7q(o#=zPoVy6suxF44RH-vj{rcK4+K literal 0 HcmV?d00001 diff --git a/docs/skin/images/rss.png b/docs/skin/images/rss.png new file mode 100644 index 0000000000000000000000000000000000000000..f0796ac886201eb43b7a15113e2deb1b32fa9a09 GIT binary patch literal 360 zcmV-u0hj)XP)1pTfh($;sL0vc}u{{{FPIw4gub**+Xunj;hMg-Rk@N{o&!^ z{r&#_{{B{et%#+@{r~@)vdh1}zle=^0GR*(m;g35HkdZcHkixXHq)$8FWQhbW?9;ba!ELWdKKV zVQ^?^V?%Flc4cyOWpXuLNbUdt06|GaK~#90Vz9#p80;8u1CXpOE?Whx%fLW2AK{k88_xIu00030{{sMfLr(Xb|5zme0000&bhz z5bnJPc@Iw>rR$Xk0NnAP0=%b=G`t?HCJ;1;sS0GUaR^Poy(d)4L1!Z`B|uSw*8!8D z1>h1*q8RGKdru$=?;A%ZB_OKlg75{_YH&hNW(a$3KZtet`*CCTW|RqnCt6&9fL-$C zDR`VAOJA7@%7*R5r%~t_!pzTQ{PyECD&+v42uz$ZeUl8ZOTM%Yg!+h+nIH~LchAyC zG1xhRv*%9Z$h&VKs1PWGgNRZBQXUX%?&{cdP2ocD!(ST!+#jwNkiW-tkatpx$iKuDWS zjlmkan~AW!xEI~IUYz>&BtH857{(?B(L3A$QGsv>7uHrX&|ttObr0cOZ8RGP9>iGh zW?Z>CgO?8P$BOj@EL+Aj1LI!1pvMp{xF|nlMi(MNrlpRA51c)0HD~J1>JbH7( z*fz2os)`p6?T2-jQQXvrT;4%gtC0&SgfvxylmLTh?0CT8?*3i4Z}>^vxCq=Vl_457 z8uA{>z{6wDAe+hI*zu$IVd@*KzOx_Q16hbz2<5t&szK8dNK^(d^O(B&9kQ7m9^1SR zf1R5}xjbKue%s33Sk|=)znq`Kn@3;8=%zjl6!U;Xl=3)o3uh}POm;hk;QLFTVS4T& zio@gBw(1E?U$};#5}??<0e3CmiTO$ylP^Du!bld&*B6kIP)Q#b9id!3)r>hIrOymP`xd*0hyA5F0Rtdmn&^ z(AIAF^ryEm`_E;F2oAh533QiH+|Y+yzAY7X^0y||7ta8M)C4T?H$3d~#Ec+Y!r@Q$ z;qn>6)bFP;zI6~?{q0bRQyfmEhD^j|AWeM?nw22KO4S2}k3K(J8&|GC zzL0}Mv$`ud-Gm^L?u5<0hT@~sizf;X5;RL-Q6**~3r$2Rwa|#lH|K-! zJXbqLQ6z+jtJ|p&kODTAfegZ0Su_KGoV_;b1KLAGIq$uZC+9sG5jkNsC3UKnRklpk za8aLUQc+eDGAE)?GAFDiY)(aeP~zi_yj$be_!rlyryjz7fr004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00004XF*Lt006O$eEU(800001 zb5ch_0Itp)=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m_e01m_fl`9S#0007K zNklQ>j$aI!>~6BuS6Q;~j%&nubQBVJyz=J&@KuRzjD; zcW(vZmNxJrKpeyxg%ynaLZD)?XsFw9aUiSZ8VZG+fzrUYH*7w2ey^>)m&eCl6R*)C z%=R)sowX&(lcM0`^0IqGG2rt<`VS6F^(fg`42{LbhhyyM=(-V3aWNTYXHDf22mq(2 z!0IZnumH@>0oT`${)-DBowfmq$k1#2*6To_01OTSmzTiN5im0YjEwi0pxkefcYS?`FcOI) za+39RU|;~)-#0-7IU)dleBQ_~Gz2yi2!}nB!COS^Uf}Q$n3@725l=O*b0CUlauQfs zG1<4Y;LWU?LD?PHl9k7t-wA_?`Mj}fOG*Fq!Zx#ulu6&o$RJ{P>DS%_VhWrCUF3V*)!aYF% O0000`WXCjGV$EqLPXcGp+%Z zNis4pF{2v5&dkcj0+dn`WB}@CL6QbCSy&m^1clgvCWsmRzs0}<)XOBuEXZKbu&nmZ zUEkd+zBN|q$1Ixqrz7BO-I}$>PfA|TKK6C0m9FK+cPkQQjN+DUeXu4u@MF*FfGpz| z8`AsaC+fJb;VhfwY3f*Z%PzR)$hD1?A!ldYs+8Y+P^~-c^*$2O#Z#!G>X}ouT=R2Pc+d@(I!`-o_U*_tEEUB#I-?h1ST9V+k zI{VU>v(|fR-Q8VoVYScfxqV08!yC;RNj^=v(@svZJL)?1=<1$Hzg3pkD(!u`W^Jmq zq~WGkfvK;05)NDre`1gmxMs`dZA!UZ7oHRysABC~;c?pY)vx`JQzm!&aUF{m4Rhs5 zdK>CJP0VJAle6=@^)ogG9&Fz#nj>qy%3IC8JJ*rb?aa5nealbC$aFi_cy83=n6g=U z_lkGjUv!q|+;`>nIhuN9+BOx>^4qS5`wNVpC^$^b3Q2I~6Fng)S{-w=EHJ+_>pw&4 z>sqT;#+&Tg{b{Q$r0 zcjPwoN^N?+#M#1Z;pwWy3EJV(Ic&E?RC2Z^U(MN|Em16H;~rq;EcQAajAv$N9{om-s!5r##+I#Y}qkqPB1#0`7CuktZhxU=!4ohn_gbm zlDj{ppYNW{A@7V3(=UI13-HQKP`M&)Y;@vdl5X=hrHIwv9t##XtHe!Kcxhr7`+BO# gv;PeKu`GXNFaKw_))oI_o&UPMIeaoE+5c|>0A~eb6#xJL literal 0 HcmV?d00001 diff --git a/docs/skin/images/valid-html401.png b/docs/skin/images/valid-html401.png new file mode 100644 index 0000000000000000000000000000000000000000..3855210c6c3c85c56f90221b3247fa664374b6bf GIT binary patch literal 2948 zcmV-~3w!j5P))Ny!GVlSJK8mpb&TtF z4@tYm4elYq(XQhr5*)aW`cBE?t^WN;1=H{4~EE4iYG zwso*K^ldh6pMOh)VE2)t!WHx7zCb|;;(ei8y?<~>GE}%ig)8oc#Z^7Lp~4kOnloSR zQQ?Z-c!S9Rif3q@(i?41;fm$v16;{`^MMLiMEmr#np{A;b){na6A^sSM;@Lx3`39C zad6hh2hG=6#AGz!X;{xVj>ZyB->^2PO_bB+eKssyu$JX=Nt&iSJUrn0K1q@wx?Pmx zT=|~a;`vz)bT17@W6?*;!+n?8^8l0OJkNJ1NAUaC0RXPsL8q3ZDL%{SgQsy1fcYjN z(FTCjSP+nvcE(gA@@Jx$iv6|J09IXzwwAY8^E$5RWfz?qHrwP1;Jr>c>~(R|Y4BJE zGU%K&&(F^+77GAgUS8O4x4gf1pvnGo8i&XJ7!Nl8lEQ)>xkBJ3J*B zKYEq<7hfDHSgZ~_jqW(6Im!vsR{IdfP@ z;1TaM`e;y&JokzB8f?z+VZdx$M9<+PW%LpuTv(Jl!5G7Gxy184hQlGd-HzdKh_#l{ zXjGr!iQY=pAu$}1L(TCH6d?}SJip*+%E^|LA_ROLc}y1v-eQeTbF8&|9s5idhXS4o zHWg;3PICVt4!-XzusQKT*Yv(}Ap1b z0jXSOqrurWiXxt$pONws{eS%N2g~K{s;#=|q>>=H-kFt~;_rn!^O8?Hz|*)#q7C|J znU4Kt*Rw2Ed#2Nv>1@mLExF-Q3kM6(>-CRhKCc};T%~D_6!blp-61788azjG&`08( zhAza1^h^`+L32zD!v`Nn3M??1N03{VvmuTw(6H8$Wf|d#XDd>R-V;8h?`~HR_zu1& z3p%jiN=e{5+}(A{`B?-V!oGul=TeQ}p6_7t93eW40!0)klq2zdm*kMvo^z+Vgnft1 zLcC3}SOP4BUIoZD9?lU$a9q6+?_RKg(fUXK+qW;R00Rs>hh6kRwAFY+pG~X*i|;88 zdrh?0OhUhm=A2PbfHYt4IBY+_?Go=bf$t)Pz*>t^3Z+!raCNblFTU61`|_bsmR#5G zb@{$}DDF#J*@gGT1GUJq@HFc2G`c&3vw00mY%HGV@_lt*bkT;#(Btt0rV!`Fs{`8L z-%>h>LGCWmzF#cJv+PH(Sp2QER1SIy(v(;p8 z$yIKVtk>u`{{L2h2cC=Q3O>@5U2-JR2Bo?LrGBq3`oLGn61YDm0qJJKW;R5)E^)kP z86{_cZyku#t(tCQM|N8nx2yy!~?S7yjv%JL#bc(132+sNgbOgSV zt^I?Z10B$*#ae!z9%?~V-=>EoBZ@N;T|O4nWPvEoD6-L0 zTQPXD++%cFSXX@92Ai{^cA8kTcs4-DfgeE zm73!xHq@!3x!1}ljJ7$?E5mGMi1t~-@N(TH8IxtoGBRuv%eTldS!V2#9I%)S5^Y($ zXUtZHO`KK6fx}`?Jl_#N$C#u6vJf0&ONJiqkkF&G1rp=2{vOotLXX$iKYg3GKm~YuGi;6MThRrDA z80)esEFyRFHEJ!KyW;IeJg>Fz^a}Sq*)Q4lEZj&&vX2eKaNa z<^;ZCFc`2}tw@r3;@(z#G?RjOoADYM`kr7ERO;tu2VptroTCBd2*N=J1O&Yf$`KfA zNm2+0U7j8#k3oG*{g#};J#Tw!d4G;M#u^BBiXJyOj$>RJRYbog91d}b#<W3BZO$L?8>D7#OGZB(ZTYzv*p-u(3V77 zdUqWJ7Mp?ST9n&C2veK`rxwQ(9FroG5dxIkX?cm3gW94Ycn#^unEg7rN&-(}fx*Pb zpA67CyJ1zx=K$aC*P3=oDF|dc7ghURoj+8?p6p=q&;^@=C}M4|bC!`I@C2iviRo-ZBDT5Fd(NaPJF>gy$0RdEOWl3s%sd21r-3o$p#R?!i+Z zZ_;Z7?Y|Mhe~DDq%~xg8Z!JiHAZO62^gK z6rNIs0>n-y=S~US2I!}DZ_-1!9pdM>P75b+Pv_2Uj#uQ%e!u_m>;3R#extES#p;`< zT!4no*n&D__q5xZ5hk!$M2#{URhxukqgIq&AR z0)%aX3pJ2z6WBIJtx^LQN-AHr7;pv(Cs5QXsq@Yejc3;7H&LF~CP_k;Wvxbkik$MO z>;rV#9>8#YzH=l0{FkLIkelOF+D@FWkCsFiRc4#~W{hDvonnk3zr0rIbUNgD{-<5f u<6_B8LPrR4Yk%46NvwrLr$}XJlYam}=l+xQy~!s#T`6W<+- zt4%e$w+9&~i2E*D*W)T9Bhx(p?A&_0|7X(X^Ya7IW>?MPDaUzu zczTO0wr<^e|Jf%QG42CClNSR6E4d`dFZlmw6q^`8Jh0FrC=HPY3SEXN1j@jH0f@DT z;lF?am<8g&3^agg*jyz(n}LC8qNj^vNX4zUQ)`1SI|v-Rel?4G(T!h0t6h3r9Tx_% z{GPN=z+e1GN8qGw>eHn5|8FmNua|o1m5;W_zoO+QbMz<2znfQG#(ynM{=I#{0V!X> zqF)tO-~TK+p#QH~U+~Uxw*7OC?@4lzU=MuwAfY=*I-PyJf}6|jF4ry6#nK@bObtKJ z{jpr)a7XQvK=_v<_kY&OUtDf7N2Y`!=sAP5DASo0{WX7G;uf&=`Gs|Enroa;cP#bwBZgT0Vk8}Ij!pi@+JzOex~wA_|LQI>iZ4KOPMZj@RJmq z{=ckJgo`sg=^ee+rLf!@|1r#|1Qou-tz zozY_28jcOAqH_ZHT>9G+6r2tD{%tx^c*pF4-nNSOH_A#)UvDaE^>6pwzeB^b1utmshBn2mW1YZ#q&(r+Ne9lLHSPV z;lJMu*6nF1eX&Vu#au@n)2h{;1^hB;>x|=8`0r4N5Dq`3W>NpNuIHfS-r}72x2dtZ z|1vypS3P_!s?6%3q3f=mrP_V^@twUAXY`EwoTZxX&st-k^Kye`&fdVV(2iA`qSwCa zO3SD?y)^LM2F^-1=1_^hVN1d%c)e7=87<81^0{cK;`g>k^UAjGxu$SW%#%-OqR3cMOS7CD$Nw90jSF7TjZ+3b%7?`))PKP%lew!LZ} z9@4ntXMQ2~DY0cQL^+Gz9jsW~FI2w%Uw?1i^C{7@K5}j{esbPgg&e IbxsLQ074N#oB#j- literal 0 HcmV?d00001 diff --git a/docs/skin/images/warning.png b/docs/skin/images/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..b81b2ce8a12f88ec3a4c64a910809e667cc20480 GIT binary patch literal 1215 zcmV;w1VH7dsKvk!Vn>-EJ6yV zwCFYvz63#Z5fw@Zda#RSA<;vFP*!L?BpDNvInA8C*8kSS-e=CJT~KEP!3B%8_kLL4 z@Bgjuzu3U_ajgzJvSY3teW9oSl{HhZWS{V|#1F14p?K^260|%Xb}o4LqmAX@ssdp0 zUE9>h(~J_78VifNmT%d7)c|bY(i;$zA5)*e$RT8h=H})-Up#tG+f@O;v?Wi93nmyj zfE~aIijlQ-%YLasU~${N`TCPAP68# zVDBJ4fl`8UjAi|~DI3QG0G;=3m#WP$%7iI_v4gR%0|-ONfyqJ0A>ahf1-x`%!=%a; z0odD%TTRM4)9Ojsg*+1b7c;cXY7<=ZmtPi&3{?$$ME(^f+FT2Hjew!v$jJCga`&kyke7*t94E7%E69^?x z@(}XKsSlfSw)ed?rQD@E5KerChbTW{IoGdV@d=F65Qb3%;nV>omx((Fd#DN;W1Hi} zwqFu}?OVD~eY8P+Qn#G4{-^Y;-RbWD04Glz2TU#yC#WjK()}9aVAq=~iyi-@6<;LY z+XkTJIUaN&*r)9#lwLeS=^1;Eb6>uNBZoi4p<^d7qYM;4P!fnLQ~^;y&7cYtB9!6~ zuL4-}{|-!=vrdMw$f%zBTKJ68lnXh;>e1nU!rD&5qNzYB5SVuaeL1(%za=ta?rF|O9j)JzSq8m0RY&`2UZo! z|L#EhoUJmbGnEn;*AowR&`emeUJobVhPbr@;jDY{`7eyKiH(Tss5u&@AqqPBtF~*j z>)%D@1aZ(Q3PtBuiino zSCl44DCYwxF1B9H>X|Sg3K0M4^eF)A&I360;~#y0X?{qUOU48h593svYn8J=)WDi< zN&*yOz$c}9Eu7Nlo*Mi9!MkxNQ@AS0uq@dhKq^O!~}xz;K@Xd7Y-~+5Tgkg z4;n8VKqrH)>yRyD!_v`xTg$fo_}cDk={CBt?%=_L7Y}CQKjF!DdgqtC!5i1Rxzm5QpK z2~!*=8j6+^RFjFz5M@|438BhMFucKv>1;3p-TwHTham%D8D%61LJ^iMt7uu;wz&}% zK~fJ;qBoRUaQh&XWhh(LZlSnqH_b3b)m(6g zK+=dNG@3;&+^-;m=LJ!M4B%C*Af?S^ax==QAzA<_v`7S4HpL}He-Nm8UeOD#i~wLVu%rwe1afI z+(Y0VFOHKq?)B^mK}2Y#{GWePpygL(#X+o$wPAbweFC$Gv2yh($4v7Cwy&zTbtKo@ zS6N-()=14cpC71f8JKBz_S+7fXusd+8r?r-Yq~s+)%9=Mo#%$$cR9~YzG`T@8>qGK z*j_hwKHy!W`Klw%?kC@KLIfOb?t4*F=a_#vd)D!`^$tBheQa@fZeX@^a;V|_ZNk1q z_HxHB+zX9YjJ3S(?HG%_>v&vs^W?>+HoR}+)0>Z%9+|NZ*9J$LdY=6#2)?P|(^nss We^=By_~!n}n&~UIh@aF1*7FC9)cB|X literal 0 HcmV?d00001 diff --git a/docs/skin/menu.js b/docs/skin/menu.js new file mode 100644 index 00000000000..06ea471dc57 --- /dev/null +++ b/docs/skin/menu.js @@ -0,0 +1,48 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +/** + * This script, when included in a html file, can be used to make collapsible menus + * + * Typical usage: + * + */ + +if (document.getElementById){ + document.write('') +} + +function SwitchMenu(obj) +{ + if(document.getElementById) { + var el = document.getElementById(obj); + var title = document.getElementById(obj+'Title'); + + if(obj.indexOf("_selected_")==0&&el.style.display == ""){ + el.style.display = "block"; + title.className = "pagegroupselected"; + } + + if(el.style.display != "block"){ + el.style.display = "block"; + title.className = "pagegroupopen"; + } + else{ + el.style.display = "none"; + title.className = "pagegroup"; + } + }// end - if(document.getElementById) +}//end - function SwitchMenu(obj) diff --git a/docs/skin/note.txt b/docs/skin/note.txt new file mode 100644 index 00000000000..d34c8db5ef4 --- /dev/null +++ b/docs/skin/note.txt @@ -0,0 +1,50 @@ +Notes for developer: + +--Legend------------------- +TODO -> blocker +DONE -> blocker +ToDo -> enhancement bug +done -> enhancement bug + +--Issues------------------- +- the corner images should be rendered through svg with the header color. +-> DONE +-> ToDo: get rid of the images and use only divs! + +- the menu points should be displayed "better". +-> DONE +-- Use the krysalis-site menu approach for the overall menu display. +-> DONE +-- Use the old lenya innermenu approch to further enhance the menu . +-> DONE + +- the content area needs some attention. +-> DONE +-- introduce the heading scheme from krysalis () +-> DONE +-> ToDo: make box with round corners +-> done: make underlined with variable border height +-> ToDo: make underline with bottom round corner +-- introduce the toc for each html-page +-> DONE +-- introduce the external-link-images. +-> DONE + +- the publish note should be where now only a border is. +Like
+-> DONE +, but make it configurable. +-> DONE +- footer needs some attention +-> DONE +-- the footer do not have the color profile! Enable it! +-> DONE +-- the footer should as well contain a feedback link. +See http://issues.apache.org/eyebrowse/ReadMsg?listName=forrest-user@xml.apache.org&msgNo=71 +-> DONE + +- introduce credits alternativ location +-> DONE + +- border for published / breadtrail / menu /tab divs +-> ToDo \ No newline at end of file diff --git a/docs/skin/print.css b/docs/skin/print.css new file mode 100644 index 00000000000..aaa99319acd --- /dev/null +++ b/docs/skin/print.css @@ -0,0 +1,54 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +body { + font-family: Georgia, Palatino, serif; + font-size: 12pt; + background: white; +} + +#tabs, +#menu, +#content .toc { + display: none; +} + +#content { + width: auto; + padding: 0; + float: none !important; + color: black; + background: inherit; +} + +a:link, a:visited { + color: #336699; + background: inherit; + text-decoration: underline; +} + +#top .logo { + padding: 0; + margin: 0 0 2em 0; +} + +#footer { + margin-top: 4em; +} + +acronym { + border: 0; +} \ No newline at end of file diff --git a/docs/skin/profile.css b/docs/skin/profile.css new file mode 100644 index 00000000000..00d3eb4cf4b --- /dev/null +++ b/docs/skin/profile.css @@ -0,0 +1,158 @@ + + +/* ==================== aural ============================ */ + +@media aural { + h1, h2, h3, h4, h5, h6 { voice-family: paul, male; stress: 20; richness: 90 } + h1 { pitch: x-low; pitch-range: 90 } + h2 { pitch: x-low; pitch-range: 80 } + h3 { pitch: low; pitch-range: 70 } + h4 { pitch: medium; pitch-range: 60 } + h5 { pitch: medium; pitch-range: 50 } + h6 { pitch: medium; pitch-range: 40 } + li, dt, dd { pitch: medium; richness: 60 } + dt { stress: 80 } + pre, code, tt { pitch: medium; pitch-range: 0; stress: 0; richness: 80 } + em { pitch: medium; pitch-range: 60; stress: 60; richness: 50 } + strong { pitch: medium; pitch-range: 60; stress: 90; richness: 90 } + dfn { pitch: high; pitch-range: 60; stress: 60 } + s, strike { richness: 0 } + i { pitch: medium; pitch-range: 60; stress: 60; richness: 50 } + b { pitch: medium; pitch-range: 60; stress: 90; richness: 90 } + u { richness: 0 } + + :link { voice-family: harry, male } + :visited { voice-family: betty, female } + :active { voice-family: betty, female; pitch-range: 80; pitch: x-high } +} + +a.external { + padding: 0 20px 0px 0px; + display:inline; + background-repeat: no-repeat; + background-position: center right; + background-image: url(images/external-link.gif); +} + +#top { background-color: #FFFFFF;} + +#top .header .current { background-color: #4C6C8F;} +#top .header .current a:link { color: #ffffff; } +#top .header .current a:visited { color: #ffffff; } +#top .header .current a:hover { color: #ffffff; } + +#tabs li { background-color: #E5E4D9 ;} +#tabs li a:link { color: #000000; } +#tabs li a:visited { color: #000000; } +#tabs li a:hover { color: #000000; } + +#level2tabs a.selected { background-color: #4C6C8F ;} +#level2tabs a:link { color: #ffffff; } +#level2tabs a:visited { color: #ffffff; } +#level2tabs a:hover { color: #ffffff; } + +#level2tabs { background-color: #E5E4D9;} +#level2tabs a.unselected:link { color: #000000; } +#level2tabs a.unselected:visited { color: #000000; } +#level2tabs a.unselected:hover { color: #000000; } + +.heading { background-color: #E5E4D9;} + +.boxed { background-color: #E5E4D9;} +.underlined_5 {border-bottom: solid 5px #E5E4D9;} +.underlined_10 {border-bottom: solid 10px #E5E4D9;} +table caption { +background-color: #E5E4D9; +color: #000000; +} + +#feedback { +color: #FFFFFF; +background: #4C6C8F; +text-align: center; +} +#feedback #feedbackto { +color: #FFFFFF; +} + +#publishedStrip { +color: #FFFFFF; +background: #4C6C8F; +} + +#publishedStrip { +color: #000000; +background: #E5E4D9; +} + +#menu .menupagetitle { background-color: #CFDCED; + color: #000000;} + +#menu { border-color: #999999;} +#menu .menupagetitle { border-color: #999999;} +#menu .menupageitemgroup { border-color: #999999;} + +#menu { background-color: #4C6C8F;} +#menu { color: #ffffff;} +#menu a:link { color: #ffffff;} +#menu a:visited { color: #ffffff;} +#menu a:hover { +background-color: #4C6C8F; +color: #ffffff;} + +#menu h1 { +color: #000000; +background-color: #cfdced; +} + +#top .searchbox { +background-color: #E5E4D9 ; +color: #000000; +} + +#menu .menupageitemgroup { +background-color: #E5E4D9; +} +#menu .menupageitem { +color: #000000; +} +#menu .menupageitem a:link { color: #000000;} +#menu .menupageitem a:visited { color: #000000;} +#menu .menupageitem a:hover { +background-color: #E5E4D9; +color: #000000; +} + +body{ +background-color: #ffffff; +color: #000000; +} +a:link { color:#0000ff} +a:visited { color:#009999} +a:hover { color:#6587ff} + + +.ForrestTable { background-color: #ccc;} + +.ForrestTable td { background-color: #ffffff;} + +.highlight { background-color: #ffff00;} + +.fixme { border-color: #c60;} + +.note { border-color: #069;} + +.warning { border-color: #900;} + +.code { border-color: #a5b6c6;} + +#footer { background-color: #E5E4D9;} +/* extra-css */ + + p.quote { + margin-left: 2em; + padding: .5em; + background-color: #f0f0f0; + font-family: monospace; + } + \ No newline at end of file diff --git a/docs/skin/prototype.js b/docs/skin/prototype.js new file mode 100644 index 00000000000..ed7d920cb5f --- /dev/null +++ b/docs/skin/prototype.js @@ -0,0 +1,1257 @@ +/* Prototype JavaScript framework, version 1.4.0_pre4 + * (c) 2005 Sam Stephenson + * + * THIS FILE IS AUTOMATICALLY GENERATED. When sending patches, please diff + * against the source tree, available from the Prototype darcs repository. + * + * Prototype is freely distributable under the terms of an MIT-style license. + * + * For details, see the Prototype web site: http://prototype.conio.net/ + * +/*--------------------------------------------------------------------------*/ + +var Prototype = { + Version: '1.4.0_pre4', + + emptyFunction: function() {}, + K: function(x) {return x} +} + +var Class = { + create: function() { + return function() { + this.initialize.apply(this, arguments); + } + } +} + +var Abstract = new Object(); + +Object.extend = function(destination, source) { + for (property in source) { + destination[property] = source[property]; + } + return destination; +} + +Function.prototype.bind = function(object) { + var __method = this; + return function() { + return __method.apply(object, arguments); + } +} + +Function.prototype.bindAsEventListener = function(object) { + var __method = this; + return function(event) { + return __method.call(object, event || window.event); + } +} + +Number.prototype.toColorPart = function() { + var digits = this.toString(16); + if (this < 16) return '0' + digits; + return digits; +} + +var Try = { + these: function() { + var returnValue; + + for (var i = 0; i < arguments.length; i++) { + var lambda = arguments[i]; + try { + returnValue = lambda(); + break; + } catch (e) {} + } + + return returnValue; + } +} + +/*--------------------------------------------------------------------------*/ + +var PeriodicalExecuter = Class.create(); +PeriodicalExecuter.prototype = { + initialize: function(callback, frequency) { + this.callback = callback; + this.frequency = frequency; + this.currentlyExecuting = false; + + this.registerCallback(); + }, + + registerCallback: function() { + setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); + }, + + onTimerEvent: function() { + if (!this.currentlyExecuting) { + try { + this.currentlyExecuting = true; + this.callback(); + } finally { + this.currentlyExecuting = false; + } + } + } +} + +/*--------------------------------------------------------------------------*/ + +function $() { + var elements = new Array(); + + for (var i = 0; i < arguments.length; i++) { + var element = arguments[i]; + if (typeof element == 'string') + element = document.getElementById(element); + + if (arguments.length == 1) + return element; + + elements.push(element); + } + + return elements; +} + +if (!Array.prototype.push) { + Array.prototype.push = function() { + var startLength = this.length; + for (var i = 0; i < arguments.length; i++) + this[startLength + i] = arguments[i]; + return this.length; + } +} + +if (!Function.prototype.apply) { + // Based on code from http://www.youngpup.net/ + Function.prototype.apply = function(object, parameters) { + var parameterStrings = new Array(); + if (!object) object = window; + if (!parameters) parameters = new Array(); + + for (var i = 0; i < parameters.length; i++) + parameterStrings[i] = 'parameters[' + i + ']'; + + object.__apply__ = this; + var result = eval('object.__apply__(' + + parameterStrings.join(', ') + ')'); + object.__apply__ = null; + + return result; + } +} + +Object.extend(String.prototype, { + stripTags: function() { + return this.replace(/<\/?[^>]+>/gi, ''); + }, + + escapeHTML: function() { + var div = document.createElement('div'); + var text = document.createTextNode(this); + div.appendChild(text); + return div.innerHTML; + }, + + unescapeHTML: function() { + var div = document.createElement('div'); + div.innerHTML = this.stripTags(); + return div.childNodes[0].nodeValue; + }, + + parseQuery: function() { + var str = this; + if (str.substring(0,1) == '?') { + str = this.substring(1); + } + var result = {}; + var pairs = str.split('&'); + for (var i = 0; i < pairs.length; i++) { + var pair = pairs[i].split('='); + result[pair[0]] = pair[1]; + } + return result; + } +}); + + +var _break = new Object(); +var _continue = new Object(); + +var Enumerable = { + each: function(iterator) { + var index = 0; + try { + this._each(function(value) { + try { + iterator(value, index++); + } catch (e) { + if (e != _continue) throw e; + } + }); + } catch (e) { + if (e != _break) throw e; + } + }, + + all: function(iterator) { + var result = true; + this.each(function(value, index) { + if (!(result &= (iterator || Prototype.K)(value, index))) + throw _break; + }); + return result; + }, + + any: function(iterator) { + var result = true; + this.each(function(value, index) { + if (result &= (iterator || Prototype.K)(value, index)) + throw _break; + }); + return result; + }, + + collect: function(iterator) { + var results = []; + this.each(function(value, index) { + results.push(iterator(value, index)); + }); + return results; + }, + + detect: function (iterator) { + var result; + this.each(function(value, index) { + if (iterator(value, index)) { + result = value; + throw _break; + } + }); + return result; + }, + + findAll: function(iterator) { + var results = []; + this.each(function(value, index) { + if (iterator(value, index)) + results.push(value); + }); + return results; + }, + + grep: function(pattern, iterator) { + var results = []; + this.each(function(value, index) { + var stringValue = value.toString(); + if (stringValue.match(pattern)) + results.push((iterator || Prototype.K)(value, index)); + }) + return results; + }, + + include: function(object) { + var found = false; + this.each(function(value) { + if (value == object) { + found = true; + throw _break; + } + }); + return found; + }, + + inject: function(memo, iterator) { + this.each(function(value, index) { + memo = iterator(memo, value, index); + }); + return memo; + }, + + invoke: function(method) { + var args = $A(arguments).slice(1); + return this.collect(function(value) { + return value[method].apply(value, args); + }); + }, + + max: function(iterator) { + var result; + this.each(function(value, index) { + value = (iterator || Prototype.K)(value, index); + if (value >= (result || value)) + result = value; + }); + return result; + }, + + min: function(iterator) { + var result; + this.each(function(value, index) { + value = (iterator || Prototype.K)(value, index); + if (value <= (result || value)) + result = value; + }); + return result; + }, + + partition: function(iterator) { + var trues = [], falses = []; + this.each(function(value, index) { + ((iterator || Prototype.K)(value, index) ? + trues : falses).push(value); + }); + return [trues, falses]; + }, + + pluck: function(property) { + var results = []; + this.each(function(value, index) { + results.push(value[property]); + }); + return results; + }, + + reject: function(iterator) { + var results = []; + this.each(function(value, index) { + if (!iterator(value, index)) + results.push(value); + }); + return results; + }, + + sortBy: function(iterator) { + return this.collect(function(value, index) { + return {value: value, criteria: iterator(value, index)}; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }).pluck('value'); + }, + + toArray: function() { + return this.collect(Prototype.K); + }, + + zip: function() { + var iterator = Prototype.K, args = $A(arguments); + if (typeof args.last() == 'function') + iterator = args.pop(); + + var collections = [this].concat(args).map($A); + return this.map(function(value, index) { + iterator(value = collections.pluck(index)); + return value; + }); + } +} + +Object.extend(Enumerable, { + map: Enumerable.collect, + find: Enumerable.detect, + select: Enumerable.findAll, + member: Enumerable.include, + entries: Enumerable.toArray +}); + +$A = Array.from = function(iterable) { + var results = []; + for (var i = 0; i < iterable.length; i++) + results.push(iterable[i]); + return results; +} + +Object.extend(Array.prototype, { + _each: function(iterator) { + for (var i = 0; i < this.length; i++) + iterator(this[i]); + }, + + first: function() { + return this[0]; + }, + + last: function() { + return this[this.length - 1]; + } +}); + +Object.extend(Array.prototype, Enumerable); + + +var Ajax = { + getTransport: function() { + return Try.these( + function() {return new ActiveXObject('Msxml2.XMLHTTP')}, + function() {return new ActiveXObject('Microsoft.XMLHTTP')}, + function() {return new XMLHttpRequest()} + ) || false; + } +} + +Ajax.Base = function() {}; +Ajax.Base.prototype = { + setOptions: function(options) { + this.options = { + method: 'post', + asynchronous: true, + parameters: '' + } + Object.extend(this.options, options || {}); + }, + + responseIsSuccess: function() { + return this.transport.status == undefined + || this.transport.status == 0 + || (this.transport.status >= 200 && this.transport.status < 300); + }, + + responseIsFailure: function() { + return !this.responseIsSuccess(); + } +} + +Ajax.Request = Class.create(); +Ajax.Request.Events = + ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; + +Ajax.Request.prototype = Object.extend(new Ajax.Base(), { + initialize: function(url, options) { + this.transport = Ajax.getTransport(); + this.setOptions(options); + this.request(url); + }, + + request: function(url) { + var parameters = this.options.parameters || ''; + if (parameters.length > 0) parameters += '&_='; + + try { + if (this.options.method == 'get') + url += '?' + parameters; + + this.transport.open(this.options.method, url, + this.options.asynchronous); + + if (this.options.asynchronous) { + this.transport.onreadystatechange = this.onStateChange.bind(this); + setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10); + } + + this.setRequestHeaders(); + + var body = this.options.postBody ? this.options.postBody : parameters; + this.transport.send(this.options.method == 'post' ? body : null); + + } catch (e) { + } + }, + + setRequestHeaders: function() { + var requestHeaders = + ['X-Requested-With', 'XMLHttpRequest', + 'X-Prototype-Version', Prototype.Version]; + + if (this.options.method == 'post') { + requestHeaders.push('Content-type', + 'application/x-www-form-urlencoded'); + + /* Force "Connection: close" for Mozilla browsers to work around + * a bug where XMLHttpReqeuest sends an incorrect Content-length + * header. See Mozilla Bugzilla #246651. + */ + if (this.transport.overrideMimeType) + requestHeaders.push('Connection', 'close'); + } + + if (this.options.requestHeaders) + requestHeaders.push.apply(requestHeaders, this.options.requestHeaders); + + for (var i = 0; i < requestHeaders.length; i += 2) + this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]); + }, + + onStateChange: function() { + var readyState = this.transport.readyState; + if (readyState != 1) + this.respondToReadyState(this.transport.readyState); + }, + + respondToReadyState: function(readyState) { + var event = Ajax.Request.Events[readyState]; + + if (event == 'Complete') + (this.options['on' + this.transport.status] + || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')] + || Prototype.emptyFunction)(this.transport); + + (this.options['on' + event] || Prototype.emptyFunction)(this.transport); + + /* Avoid memory leak in MSIE: clean up the oncomplete event handler */ + if (event == 'Complete') + this.transport.onreadystatechange = Prototype.emptyFunction; + } +}); + +Ajax.Updater = Class.create(); +Ajax.Updater.ScriptFragment = '(?:)((\n|.)*?)(?:<\/script>)'; + +Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), { + initialize: function(container, url, options) { + this.containers = { + success: container.success ? $(container.success) : $(container), + failure: container.failure ? $(container.failure) : + (container.success ? null : $(container)) + } + + this.transport = Ajax.getTransport(); + this.setOptions(options); + + var onComplete = this.options.onComplete || Prototype.emptyFunction; + this.options.onComplete = (function() { + this.updateContent(); + onComplete(this.transport); + }).bind(this); + + this.request(url); + }, + + updateContent: function() { + var receiver = this.responseIsSuccess() ? + this.containers.success : this.containers.failure; + + var match = new RegExp(Ajax.Updater.ScriptFragment, 'img'); + var response = this.transport.responseText.replace(match, ''); + var scripts = this.transport.responseText.match(match); + + if (receiver) { + if (this.options.insertion) { + new this.options.insertion(receiver, response); + } else { + receiver.innerHTML = response; + } + } + + if (this.responseIsSuccess()) { + if (this.onComplete) + setTimeout((function() {this.onComplete( + this.transport)}).bind(this), 10); + } + + if (this.options.evalScripts && scripts) { + match = new RegExp(Ajax.Updater.ScriptFragment, 'im'); + setTimeout((function() { + for (var i = 0; i < scripts.length; i++) + eval(scripts[i].match(match)[1]); + }).bind(this), 10); + } + } +}); + +Ajax.PeriodicalUpdater = Class.create(); +Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), { + initialize: function(container, url, options) { + this.setOptions(options); + this.onComplete = this.options.onComplete; + + this.frequency = (this.options.frequency || 2); + this.decay = 1; + + this.updater = {}; + this.container = container; + this.url = url; + + this.start(); + }, + + start: function() { + this.options.onComplete = this.updateComplete.bind(this); + this.onTimerEvent(); + }, + + stop: function() { + this.updater.onComplete = undefined; + clearTimeout(this.timer); + (this.onComplete || Ajax.emptyFunction).apply(this, arguments); + }, + + updateComplete: function(request) { + if (this.options.decay) { + this.decay = (request.responseText == this.lastText ? + this.decay * this.options.decay : 1); + + this.lastText = request.responseText; + } + this.timer = setTimeout(this.onTimerEvent.bind(this), + this.decay * this.frequency * 1000); + }, + + onTimerEvent: function() { + this.updater = new Ajax.Updater(this.container, this.url, this.options); + } +}); + +document.getElementsByClassName = function(className) { + var children = document.getElementsByTagName('*') || document.all; + var elements = new Array(); + + for (var i = 0; i < children.length; i++) { + var child = children[i]; + var classNames = child.className.split(' '); + for (var j = 0; j < classNames.length; j++) { + if (classNames[j] == className) { + elements.push(child); + break; + } + } + } + + return elements; +} + +/*--------------------------------------------------------------------------*/ + +if (!window.Element) { + var Element = new Object(); +} + +Object.extend(Element, { + toggle: function() { + for (var i = 0; i < arguments.length; i++) { + var element = $(arguments[i]); + element.style.display = + (element.style.display == 'none' ? '' : 'none'); + } + }, + + hide: function() { + for (var i = 0; i < arguments.length; i++) { + var element = $(arguments[i]); + element.style.display = 'none'; + } + }, + + show: function() { + for (var i = 0; i < arguments.length; i++) { + var element = $(arguments[i]); + element.style.display = ''; + } + }, + + remove: function(element) { + element = $(element); + element.parentNode.removeChild(element); + }, + + getHeight: function(element) { + element = $(element); + return element.offsetHeight; + }, + + hasClassName: function(element, className) { + element = $(element); + if (!element) + return; + var a = element.className.split(' '); + for (var i = 0; i < a.length; i++) { + if (a[i] == className) + return true; + } + return false; + }, + + addClassName: function(element, className) { + element = $(element); + Element.removeClassName(element, className); + element.className += ' ' + className; + }, + + removeClassName: function(element, className) { + element = $(element); + if (!element) + return; + var newClassName = ''; + var a = element.className.split(' '); + for (var i = 0; i < a.length; i++) { + if (a[i] != className) { + if (i > 0) + newClassName += ' '; + newClassName += a[i]; + } + } + element.className = newClassName; + }, + + // removes whitespace-only text node children + cleanWhitespace: function(element) { + var element = $(element); + for (var i = 0; i < element.childNodes.length; i++) { + var node = element.childNodes[i]; + if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) + Element.remove(node); + } + } +}); + +var Toggle = new Object(); +Toggle.display = Element.toggle; + +/*--------------------------------------------------------------------------*/ + +Abstract.Insertion = function(adjacency) { + this.adjacency = adjacency; +} + +Abstract.Insertion.prototype = { + initialize: function(element, content) { + this.element = $(element); + this.content = content; + + if (this.adjacency && this.element.insertAdjacentHTML) { + this.element.insertAdjacentHTML(this.adjacency, this.content); + } else { + this.range = this.element.ownerDocument.createRange(); + if (this.initializeRange) this.initializeRange(); + this.fragment = this.range.createContextualFragment(this.content); + this.insertContent(); + } + } +} + +var Insertion = new Object(); + +Insertion.Before = Class.create(); +Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), { + initializeRange: function() { + this.range.setStartBefore(this.element); + }, + + insertContent: function() { + this.element.parentNode.insertBefore(this.fragment, this.element); + } +}); + +Insertion.Top = Class.create(); +Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), { + initializeRange: function() { + this.range.selectNodeContents(this.element); + this.range.collapse(true); + }, + + insertContent: function() { + this.element.insertBefore(this.fragment, this.element.firstChild); + } +}); + +Insertion.Bottom = Class.create(); +Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), { + initializeRange: function() { + this.range.selectNodeContents(this.element); + this.range.collapse(this.element); + }, + + insertContent: function() { + this.element.appendChild(this.fragment); + } +}); + +Insertion.After = Class.create(); +Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), { + initializeRange: function() { + this.range.setStartAfter(this.element); + }, + + insertContent: function() { + this.element.parentNode.insertBefore(this.fragment, + this.element.nextSibling); + } +}); + +var Field = { + clear: function() { + for (var i = 0; i < arguments.length; i++) + $(arguments[i]).value = ''; + }, + + focus: function(element) { + $(element).focus(); + }, + + present: function() { + for (var i = 0; i < arguments.length; i++) + if ($(arguments[i]).value == '') return false; + return true; + }, + + select: function(element) { + $(element).select(); + }, + + activate: function(element) { + $(element).focus(); + $(element).select(); + } +} + +/*--------------------------------------------------------------------------*/ + +var Form = { + serialize: function(form) { + var elements = Form.getElements($(form)); + var queryComponents = new Array(); + + for (var i = 0; i < elements.length; i++) { + var queryComponent = Form.Element.serialize(elements[i]); + if (queryComponent) + queryComponents.push(queryComponent); + } + + return queryComponents.join('&'); + }, + + getElements: function(form) { + var form = $(form); + var elements = new Array(); + + for (tagName in Form.Element.Serializers) { + var tagElements = form.getElementsByTagName(tagName); + for (var j = 0; j < tagElements.length; j++) + elements.push(tagElements[j]); + } + return elements; + }, + + getInputs: function(form, typeName, name) { + var form = $(form); + var inputs = form.getElementsByTagName('input'); + + if (!typeName && !name) + return inputs; + + var matchingInputs = new Array(); + for (var i = 0; i < inputs.length; i++) { + var input = inputs[i]; + if ((typeName && input.type != typeName) || + (name && input.name != name)) + continue; + matchingInputs.push(input); + } + + return matchingInputs; + }, + + disable: function(form) { + var elements = Form.getElements(form); + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + element.blur(); + element.disabled = 'true'; + } + }, + + enable: function(form) { + var elements = Form.getElements(form); + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + element.disabled = ''; + } + }, + + focusFirstElement: function(form) { + var form = $(form); + var elements = Form.getElements(form); + for (var i = 0; i < elements.length; i++) { + var element = elements[i]; + if (element.type != 'hidden' && !element.disabled) { + Field.activate(element); + break; + } + } + }, + + reset: function(form) { + $(form).reset(); + } +} + +Form.Element = { + serialize: function(element) { + var element = $(element); + var method = element.tagName.toLowerCase(); + var parameter = Form.Element.Serializers[method](element); + + if (parameter) + return encodeURIComponent(parameter[0]) + '=' + + encodeURIComponent(parameter[1]); + }, + + getValue: function(element) { + var element = $(element); + var method = element.tagName.toLowerCase(); + var parameter = Form.Element.Serializers[method](element); + + if (parameter) + return parameter[1]; + } +} + +Form.Element.Serializers = { + input: function(element) { + switch (element.type.toLowerCase()) { + case 'submit': + case 'hidden': + case 'password': + case 'text': + return Form.Element.Serializers.textarea(element); + case 'checkbox': + case 'radio': + return Form.Element.Serializers.inputSelector(element); + } + return false; + }, + + inputSelector: function(element) { + if (element.checked) + return [element.name, element.value]; + }, + + textarea: function(element) { + return [element.name, element.value]; + }, + + select: function(element) { + var value = ''; + if (element.type == 'select-one') { + var index = element.selectedIndex; + if (index >= 0) + value = element.options[index].value || element.options[index].text; + } else { + value = new Array(); + for (var i = 0; i < element.length; i++) { + var opt = element.options[i]; + if (opt.selected) + value.push(opt.value || opt.text); + } + } + return [element.name, value]; + } +} + +/*--------------------------------------------------------------------------*/ + +var $F = Form.Element.getValue; + +/*--------------------------------------------------------------------------*/ + +Abstract.TimedObserver = function() {} +Abstract.TimedObserver.prototype = { + initialize: function(element, frequency, callback) { + this.frequency = frequency; + this.element = $(element); + this.callback = callback; + + this.lastValue = this.getValue(); + this.registerCallback(); + }, + + registerCallback: function() { + setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); + }, + + onTimerEvent: function() { + var value = this.getValue(); + if (this.lastValue != value) { + this.callback(this.element, value); + this.lastValue = value; + } + } +} + +Form.Element.Observer = Class.create(); +Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.Observer = Class.create(); +Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), { + getValue: function() { + return Form.serialize(this.element); + } +}); + +/*--------------------------------------------------------------------------*/ + +Abstract.EventObserver = function() {} +Abstract.EventObserver.prototype = { + initialize: function(element, callback) { + this.element = $(element); + this.callback = callback; + + this.lastValue = this.getValue(); + if (this.element.tagName.toLowerCase() == 'form') + this.registerFormCallbacks(); + else + this.registerCallback(this.element); + }, + + onElementEvent: function() { + var value = this.getValue(); + if (this.lastValue != value) { + this.callback(this.element, value); + this.lastValue = value; + } + }, + + registerFormCallbacks: function() { + var elements = Form.getElements(this.element); + for (var i = 0; i < elements.length; i++) + this.registerCallback(elements[i]); + }, + + registerCallback: function(element) { + if (element.type) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + element.target = this; + element.prev_onclick = element.onclick || Prototype.emptyFunction; + element.onclick = function() { + this.prev_onclick(); + this.target.onElementEvent(); + } + break; + case 'password': + case 'text': + case 'textarea': + case 'select-one': + case 'select-multiple': + element.target = this; + element.prev_onchange = element.onchange || Prototype.emptyFunction; + element.onchange = function() { + this.prev_onchange(); + this.target.onElementEvent(); + } + break; + } + } + } +} + +Form.Element.EventObserver = Class.create(); +Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.EventObserver = Class.create(); +Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), { + getValue: function() { + return Form.serialize(this.element); + } +}); + + +if (!window.Event) { + var Event = new Object(); +} + +Object.extend(Event, { + KEY_BACKSPACE: 8, + KEY_TAB: 9, + KEY_RETURN: 13, + KEY_ESC: 27, + KEY_LEFT: 37, + KEY_UP: 38, + KEY_RIGHT: 39, + KEY_DOWN: 40, + KEY_DELETE: 46, + + element: function(event) { + return event.target || event.srcElement; + }, + + isLeftClick: function(event) { + return (((event.which) && (event.which == 1)) || + ((event.button) && (event.button == 1))); + }, + + pointerX: function(event) { + return event.pageX || (event.clientX + + (document.documentElement.scrollLeft || document.body.scrollLeft)); + }, + + pointerY: function(event) { + return event.pageY || (event.clientY + + (document.documentElement.scrollTop || document.body.scrollTop)); + }, + + stop: function(event) { + if (event.preventDefault) { + event.preventDefault(); + event.stopPropagation(); + } else { + event.returnValue = false; + } + }, + + // find the first node with the given tagName, starting from the + // node the event was triggered on; traverses the DOM upwards + findElement: function(event, tagName) { + var element = Event.element(event); + while (element.parentNode && (!element.tagName || + (element.tagName.toUpperCase() != tagName.toUpperCase()))) + element = element.parentNode; + return element; + }, + + observers: false, + + _observeAndCache: function(element, name, observer, useCapture) { + if (!this.observers) this.observers = []; + if (element.addEventListener) { + this.observers.push([element, name, observer, useCapture]); + element.addEventListener(name, observer, useCapture); + } else if (element.attachEvent) { + this.observers.push([element, name, observer, useCapture]); + element.attachEvent('on' + name, observer); + } + }, + + unloadCache: function() { + if (!Event.observers) return; + for (var i = 0; i < Event.observers.length; i++) { + Event.stopObserving.apply(this, Event.observers[i]); + Event.observers[i][0] = null; + } + Event.observers = false; + }, + + observe: function(element, name, observer, useCapture) { + var element = $(element); + useCapture = useCapture || false; + + if (name == 'keypress' && + ((/Konqueror|Safari|KHTML/.test(navigator.userAgent)) + || element.attachEvent)) + name = 'keydown'; + + this._observeAndCache(element, name, observer, useCapture); + }, + + stopObserving: function(element, name, observer, useCapture) { + var element = $(element); + useCapture = useCapture || false; + + if (name == 'keypress' && + ((/Konqueror|Safari|KHTML/.test(navigator.userAgent)) + || element.detachEvent)) + name = 'keydown'; + + if (element.removeEventListener) { + element.removeEventListener(name, observer, useCapture); + } else if (element.detachEvent) { + element.detachEvent('on' + name, observer); + } + } +}); + +/* prevent memory leaks in IE */ +Event.observe(window, 'unload', Event.unloadCache, false); + +var Position = { + + // set to true if needed, warning: firefox performance problems + // NOT neeeded for page scrolling, only if draggable contained in + // scrollable elements + includeScrollOffsets: false, + + // must be called before calling withinIncludingScrolloffset, every time the + // page is scrolled + prepare: function() { + this.deltaX = window.pageXOffset + || document.documentElement.scrollLeft + || document.body.scrollLeft + || 0; + this.deltaY = window.pageYOffset + || document.documentElement.scrollTop + || document.body.scrollTop + || 0; + }, + + realOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.scrollTop || 0; + valueL += element.scrollLeft || 0; + element = element.parentNode; + } while (element); + return [valueL, valueT]; + }, + + cumulativeOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + } while (element); + return [valueL, valueT]; + }, + + // caches x/y coordinate pair to use with overlap + within: function(element, x, y) { + if (this.includeScrollOffsets) + return this.withinIncludingScrolloffsets(element, x, y); + this.xcomp = x; + this.ycomp = y; + this.offset = this.cumulativeOffset(element); + + return (y >= this.offset[1] && + y < this.offset[1] + element.offsetHeight && + x >= this.offset[0] && + x < this.offset[0] + element.offsetWidth); + }, + + withinIncludingScrolloffsets: function(element, x, y) { + var offsetcache = this.realOffset(element); + + this.xcomp = x + offsetcache[0] - this.deltaX; + this.ycomp = y + offsetcache[1] - this.deltaY; + this.offset = this.cumulativeOffset(element); + + return (this.ycomp >= this.offset[1] && + this.ycomp < this.offset[1] + element.offsetHeight && + this.xcomp >= this.offset[0] && + this.xcomp < this.offset[0] + element.offsetWidth); + }, + + // within must be called directly before + overlap: function(mode, element) { + if (!mode) return 0; + if (mode == 'vertical') + return ((this.offset[1] + element.offsetHeight) - this.ycomp) / + element.offsetHeight; + if (mode == 'horizontal') + return ((this.offset[0] + element.offsetWidth) - this.xcomp) / + element.offsetWidth; + }, + + clone: function(source, target) { + source = $(source); + target = $(target); + target.style.position = 'absolute'; + var offsets = this.cumulativeOffset(source); + target.style.top = offsets[1] + 'px'; + target.style.left = offsets[0] + 'px'; + target.style.width = source.offsetWidth + 'px'; + target.style.height = source.offsetHeight + 'px'; + } +} diff --git a/docs/skin/screen.css b/docs/skin/screen.css new file mode 100644 index 00000000000..c6084f81df3 --- /dev/null +++ b/docs/skin/screen.css @@ -0,0 +1,587 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +body { margin: 0px 0px 0px 0px; font-family: Verdana, Helvetica, sans-serif; } + +h1 { font-size : 160%; margin: 0px 0px 0px 0px; padding: 0px; } +h2 { font-size : 140%; margin: 1em 0px 0.8em 0px; padding: 0px; font-weight : bold;} +h3 { font-size : 130%; margin: 0.8em 0px 0px 0px; padding: 0px; font-weight : bold; } +.h3 { margin: 22px 0px 3px 0px; } +h4 { font-size : 120%; margin: 0.7em 0px 0px 0px; padding: 0px; font-weight : normal; text-align: left; } +.h4 { margin: 18px 0px 0px 0px; } +h4.faq { font-size : 120%; margin: 18px 0px 0px 0px; padding: 0px; font-weight : bold; text-align: left; } +h5 { font-size : 100%; margin: 14px 0px 0px 0px; padding: 0px; font-weight : normal; text-align: left; } + +/** +* table +*/ +table .title { background-color: #000000; } +.ForrestTable { + color: #ffffff; + background-color: #7099C5; + width: 100%; + font-size : 100%; + empty-cells: show; +} +table caption { + padding-left: 5px; + color: white; + text-align: left; + font-weight: bold; + background-color: #000000; +} +.ForrestTable td { + color: black; + background-color: #f0f0ff; +} +.ForrestTable th { text-align: center; } +/** + * Page Header + */ + +#top { + position: relative; + float: left; + width: 100%; + background: #294563; /* if you want a background in the header, put it here */ +} + +#top .breadtrail { + background: #CFDCED; + color: black; + border-bottom: solid 1px white; + padding: 3px 10px; + font-size: 75%; +} +#top .breadtrail a { color: black; } + +#top .header { + float: left; + width: 100%; + background: url("images/header_white_line.gif") repeat-x bottom; +} + +#top .grouplogo { + padding: 7px 0 10px 10px; + float: left; + text-align: left; +} +#top .projectlogo { + padding: 7px 0 10px 10px; + float: left; + width: 33%; + text-align: right; +} +#top .projectlogoA1 { + padding: 7px 0 10px 10px; + float: right; +} +html>body #top .searchbox { + bottom: 0px; +} +#top .searchbox { + position: absolute; + right: 10px; + height: 42px; + font-size: 70%; + white-space: nowrap; + text-align: right; + color: white; + background-color: #000000; + z-index:0; + background-image: url(images/rc-t-l-5-1header-2searchbox-3searchbox.png); + background-repeat: no-repeat; + background-position: top left; + bottom: -1px; /* compensate for IE rendering issue */ +} + +#top .searchbox form { + padding: 5px 10px; + margin: 0; +} +#top .searchbox p { + padding: 0 0 2px 0; + margin: 0; +} +#top .searchbox input { + font-size: 100%; +} + +#tabs { + clear: both; + padding-left: 10px; + margin: 0; + list-style: none; +} +/* background: #CFDCED url("images/tab-right.gif") no-repeat right top;*/ +#tabs li { + float: left; + background-image: url(images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png); + background-repeat: no-repeat; + background-position: top right; + background-color: #000000; + margin: 0 3px 0 0; + padding: 0; +} + +/*background: url("images/tab-left.gif") no-repeat left top;*/ +#tabs li a { + float: left; + display: block; + font-family: verdana, arial, sans-serif; + text-decoration: none; + color: black; + white-space: nowrap; + background-image: url(images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png); + background-repeat: no-repeat; + background-position: top left; + padding: 5px 15px 4px; + width: .1em; /* IE/Win fix */ +} + +#tabs li a:hover { + + cursor: pointer; + text-decoration:underline; +} + +#tabs > li a { width: auto; } /* Rest of IE/Win fix */ + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +#tabs a { float: none; } +/* End IE5-Mac hack */ + +#top .header .current { + background-color: #4C6C8F; + background-image: url(images/rc-t-r-5-1header-2tab-selected-3tab-selected.png); + background-repeat: no-repeat; + background-position: top right; +} +#top .header .current a { + font-weight: bold; + padding-bottom: 5px; + color: white; + background-image: url(images/rc-t-l-5-1header-2tab-selected-3tab-selected.png); + background-repeat: no-repeat; + background-position: top left; +} +#publishedStrip { + padding-right: 10px; + padding-left: 20px; + padding-top: 3px; + padding-bottom:3px; + color: #ffffff; + font-size : 60%; + font-weight: bold; + background-color: #4C6C8F; + text-align:right; +} + +#level2tabs { +margin: 0; +float:left; +position:relative; + +} + + + +#level2tabs a:hover { + + cursor: pointer; + text-decoration:underline; + +} + +#level2tabs a{ + + cursor: pointer; + text-decoration:none; + background-image: url('images/chapter.gif'); + background-repeat: no-repeat; + background-position: center left; + padding-left: 6px; + margin-left: 6px; +} + +/* +* border-top: solid #4C6C8F 15px; +*/ +#main { + position: relative; + background: white; + clear:both; +} +#main .breadtrail { + clear:both; + position: relative; + background: #CFDCED; + color: black; + border-bottom: solid 1px black; + border-top: solid 1px black; + padding: 0px 180px; + font-size: 75%; + z-index:10; +} +/** +* Round corner +*/ +#roundtop { + background-image: url(images/rc-t-r-15-1body-2menu-3menu.png); + background-repeat: no-repeat; + background-position: top right; +} + +#roundbottom { + background-image: url(images/rc-b-r-15-1body-2menu-3menu.png); + background-repeat: no-repeat; + background-position: top right; +} + +img.corner { + width: 15px; + height: 15px; + border: none; + display: block !important; +} + +.roundtopsmall { + background-image: url(images/rc-t-r-5-1header-2searchbox-3searchbox.png); + background-repeat: no-repeat; + background-position: top right; +} + +#roundbottomsmall { + background-image: url(images/rc-b-r-5-1header-2tab-selected-3tab-selected.png); + background-repeat: no-repeat; + background-position: top right; +} + +img.cornersmall { + width: 5px; + height: 5px; + border: none; + display: block !important; +} +/** + * Side menu + */ +#menu a { font-weight: normal; text-decoration: none;} +#menu a:visited { font-weight: normal; } +#menu a:active { font-weight: normal; } +#menu a:hover { font-weight: normal; text-decoration:underline;} + +#menuarea { width:10em;} +#menu { + position: relative; + float: left; + width: 160px; + padding-top: 0px; + top:-18px; + left:10px; + z-index: 20; + background-color: #f90; + font-size : 70%; + +} + +.menutitle { + cursor:pointer; + padding: 3px 12px; + margin-left: 10px; + background-image: url('images/chapter.gif'); + background-repeat: no-repeat; + background-position: center left; + font-weight : bold; + + +} + +.menutitle:hover{text-decoration:underline;cursor: pointer;} + +#menu .menuitemgroup { + margin: 0px 0px 6px 8px; + padding: 0px; + font-weight : bold; } + +#menu .selectedmenuitemgroup{ + margin: 0px 0px 0px 8px; + padding: 0px; + font-weight : normal; + + } + +#menu .menuitem { + padding: 2px 0px 1px 13px; + background-image: url('images/page.gif'); + background-repeat: no-repeat; + background-position: center left; + font-weight : normal; + margin-left: 10px; +} + +#menu .menupage { + margin: 2px 0px 1px 10px; + padding: 0px 3px 0px 12px; + background-image: url('images/page.gif'); + background-repeat: no-repeat; + background-position: center left; + font-style : normal; +} +#menu .menupagetitle { + padding: 0px 0px 0px 1px; + font-style : normal; + border-style: solid; + border-width: 1px; + margin-right: 10px; + +} +#menu .menupageitemgroup { + padding: 3px 0px 4px 6px; + font-style : normal; + border-bottom: 1px solid ; + border-left: 1px solid ; + border-right: 1px solid ; + margin-right: 10px; +} +#menu .menupageitem { + font-style : normal; + font-weight : normal; + border-width: 0px; + font-size : 90%; +} +#menu #credit { + text-align: center; +} +#menu #credit2 { + text-align: center; + padding: 3px 3px 3px 3px; + background-color: #ffffff; +} +#menu .searchbox { + text-align: center; +} +#menu .searchbox form { + padding: 3px 3px; + margin: 0; +} +#menu .searchbox input { + font-size: 100%; +} + +#content { + padding: 20px 20px 20px 180px; + margin: 0; + font : small Verdana, Helvetica, sans-serif; + font-size : 80%; +} + +#content ul { + margin: 0; + padding: 0 25px; +} +#content li { + padding: 0 5px; +} +#feedback { + color: black; + background: #CFDCED; + text-align:center; + margin-top: 5px; +} +#feedback #feedbackto { + font-size: 90%; + color: black; +} +#footer { + clear: both; + position: relative; /* IE bugfix (http://www.dracos.co.uk/web/css/ie6floatbug/) */ + width: 100%; + background: #CFDCED; + border-top: solid 1px #4C6C8F; + color: black; +} +#footer .copyright { + position: relative; /* IE bugfix cont'd */ + padding: 5px; + margin: 0; + width: 45%; +} +#footer .lastmodified { + position: relative; /* IE bugfix cont'd */ + float: right; + width: 45%; + padding: 5px; + margin: 0; + text-align: right; +} +#footer a { color: white; } + +#footer #logos { + text-align: left; +} + + +/** + * Misc Styles + */ + +acronym { cursor: help; } +.boxed { background-color: #a5b6c6;} +.underlined_5 {border-bottom: solid 5px #4C6C8F;} +.underlined_10 {border-bottom: solid 10px #4C6C8F;} +/* ==================== snail trail ============================ */ + +.trail { + position: relative; /* IE bugfix cont'd */ + font-size: 70%; + text-align: right; + float: right; + margin: -10px 5px 0px 5px; + padding: 0; +} + +#motd-area { + position: relative; /* IE bugfix cont'd */ + float: right; + width: 35%; + background-color: #f0f0ff; + border-top: solid 1px #4C6C8F; + border-bottom: solid 1px #4C6C8F; + margin-bottom: 15px; + margin-left: 15px; + margin-right: 10%; + padding-bottom: 5px; + padding-top: 5px; +} + +#minitoc-area { + border-top: solid 1px #4C6C8F; + border-bottom: solid 1px #4C6C8F; + margin: 15px 10% 5px 15px; + /* margin-bottom: 15px; + margin-left: 15px; + margin-right: 10%;*/ + padding-bottom: 7px; + padding-top: 5px; +} +.minitoc { + list-style-image: url('images/current.gif'); + font-weight: normal; +} + +li p { + margin: 0; + padding: 0; +} + +.pdflink { + position: relative; /* IE bugfix cont'd */ + float: right; + margin: 0px 5px; + padding: 0; +} +.pdflink br { + margin-top: -10px; + padding-left: 1px; +} +.pdflink a { + display: block; + font-size: 70%; + text-align: center; + margin: 0; + padding: 0; +} + +.pdflink img { + display: block; + height: 16px; + width: 16px; +} +.xmllink { + position: relative; /* IE bugfix cont'd */ + float: right; + margin: 0px 5px; + padding: 0; +} +.xmllink br { + margin-top: -10px; + padding-left: 1px; +} +.xmllink a { + display: block; + font-size: 70%; + text-align: center; + margin: 0; + padding: 0; +} + +.xmllink img { + display: block; + height: 16px; + width: 16px; +} +.podlink { + position: relative; /* IE bugfix cont'd */ + float: right; + margin: 0px 5px; + padding: 0; +} +.podlink br { + margin-top: -10px; + padding-left: 1px; +} +.podlink a { + display: block; + font-size: 70%; + text-align: center; + margin: 0; + padding: 0; +} + +.podlink img { + display: block; + height: 16px; + width: 16px; +} + +.printlink { + position: relative; /* IE bugfix cont'd */ + float: right; +} +.printlink br { + margin-top: -10px; + padding-left: 1px; +} +.printlink a { + display: block; + font-size: 70%; + text-align: center; + margin: 0; + padding: 0; +} +.printlink img { + display: block; + height: 16px; + width: 16px; +} + +p.instruction { + display: list-item; + list-style-image: url('../images/instruction_arrow.png'); + list-style-position: outside; + margin-left: 2em; +} \ No newline at end of file diff --git a/src/docs/forrest.properties b/src/docs/forrest.properties new file mode 100644 index 00000000000..a4ebc51d9fd --- /dev/null +++ b/src/docs/forrest.properties @@ -0,0 +1,104 @@ +# Copyright 2002-2004 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +############## +# Properties used by forrest.build.xml for building the website +# These are the defaults, un-comment them if you need to change them. +############## + +# Prints out a summary of Forrest settings for this project +#forrest.echo=true + +# Project name (used to name .war file) +#project.name=my-project + +# Specifies name of Forrest skin to use +#project.skin=tigris +#project.skin=pelt + +# comma separated list, file:// is supported +#forrest.skins.descriptors=http://forrest.apache.org/skins/skins.xml,file:///c:/myskins/skins.xml + +############## +# behavioural properties +#project.menu-scheme=tab_attributes +#project.menu-scheme=directories + +############## +# layout properties + +# Properties that can be set to override the default locations +# +# Parent properties must be set. This usually means uncommenting +# project.content-dir if any other property using it is uncommented + +#project.status=status.xml +#project.content-dir=src/documentation +#project.raw-content-dir=${project.content-dir}/content +#project.conf-dir=${project.content-dir}/conf +#project.sitemap-dir=${project.content-dir} +#project.xdocs-dir=${project.content-dir}/content/xdocs +#project.resources-dir=${project.content-dir}/resources +#project.stylesheets-dir=${project.resources-dir}/stylesheets +#project.images-dir=${project.resources-dir}/images +#project.schema-dir=${project.resources-dir}/schema +#project.skins-dir=${project.content-dir}/skins +#project.skinconf=${project.content-dir}/skinconf.xml +#project.lib-dir=${project.content-dir}/lib +#project.classes-dir=${project.content-dir}/classes +#project.translations-dir=${project.content-dir}/translations + +############## +# validation properties + +# This set of properties determine if validation is performed +# Values are inherited unless overridden. +# e.g. if forrest.validate=false then all others are false unless set to true. +#forrest.validate=true +#forrest.validate.xdocs=${forrest.validate} +#forrest.validate.skinconf=${forrest.validate} +#forrest.validate.sitemap=${forrest.validate} +#forrest.validate.stylesheets=${forrest.validate} +#forrest.validate.skins=${forrest.validate} +#forrest.validate.skins.stylesheets=${forrest.validate.skins} + +# *.failonerror=(true|false) - stop when an XML file is invalid +#forrest.validate.failonerror=true + +# *.excludes=(pattern) - comma-separated list of path patterns to not validate +# e.g. +#forrest.validate.xdocs.excludes=samples/subdir/**, samples/faq.xml +#forrest.validate.xdocs.excludes= + + +############## +# General Forrest properties + +# The URL to start crawling from +#project.start-uri=linkmap.html +# Set logging level for messages printed to the console +# (DEBUG, INFO, WARN, ERROR, FATAL_ERROR) +#project.debuglevel=ERROR +# Max memory to allocate to Java +#forrest.maxmemory=64m +# Any other arguments to pass to the JVM. For example, to run on an X-less +# server, set to -Djava.awt.headless=true +#forrest.jvmargs= +# The bugtracking URL - the issue number will be appended +#project.bugtracking-url=http://issues.apache.org/bugzilla/show_bug.cgi?id= +#project.bugtracking-url=http://issues.apache.org/jira/browse/ +# The issues list as rss +#project.issues-rss-url= +#I18n Property only works for the "forrest run" target. +#project.i18n=true diff --git a/src/docs/src/documentation/README.txt b/src/docs/src/documentation/README.txt new file mode 100644 index 00000000000..9bc261b2f15 --- /dev/null +++ b/src/docs/src/documentation/README.txt @@ -0,0 +1,7 @@ +This is the base documentation directory. + +skinconf.xml # This file customizes Forrest for your project. In it, you + # tell forrest the project name, logo, copyright info, etc + +sitemap.xmap # Optional. This sitemap is consulted before all core sitemaps. + # See http://forrest.apache.org/docs/project-sitemap.html diff --git a/src/docs/src/documentation/classes/CatalogManager.properties b/src/docs/src/documentation/classes/CatalogManager.properties new file mode 100644 index 00000000000..ac060b9a7aa --- /dev/null +++ b/src/docs/src/documentation/classes/CatalogManager.properties @@ -0,0 +1,37 @@ +# Copyright 2002-2004 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#======================================================================= +# CatalogManager.properties +# +# This is the default properties file for Apache Forrest. +# This facilitates local configuration of application-specific catalogs. +# +# See the Apache Forrest documentation: +# http://forrest.apache.org/docs/your-project.html +# http://forrest.apache.org/docs/validation.html + +# verbosity ... level of messages for status/debug +# See forrest/src/core/context/WEB-INF/cocoon.xconf + +# catalogs ... list of additional catalogs to load +# (Note that Apache Forrest will automatically load its own default catalog +# from src/core/context/resources/schema/catalog.xcat) +# use full pathnames +# pathname separator is always semi-colon (;) regardless of operating system +# directory separator is always slash (/) regardless of operating system +# +#catalogs=/home/me/forrest/my-site/src/documentation/resources/schema/catalog.xcat +catalogs= + diff --git a/src/docs/src/documentation/content/xdocs/index.xml b/src/docs/src/documentation/content/xdocs/index.xml new file mode 100644 index 00000000000..e0d67d8494e --- /dev/null +++ b/src/docs/src/documentation/content/xdocs/index.xml @@ -0,0 +1,39 @@ + + + + + + + +
+ HBase Documentation +
+ + +

+ The following documents provide concepts and procedures that will help you + get started using HBase. If you have more questions, you can ask the + mailing list or browse the archives. +

+ + + +
diff --git a/src/docs/src/documentation/content/xdocs/site.xml b/src/docs/src/documentation/content/xdocs/site.xml new file mode 100644 index 00000000000..090583ea11c --- /dev/null +++ b/src/docs/src/documentation/content/xdocs/site.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/docs/src/documentation/content/xdocs/tabs.xml b/src/docs/src/documentation/content/xdocs/tabs.xml new file mode 100644 index 00000000000..a3a3cd37add --- /dev/null +++ b/src/docs/src/documentation/content/xdocs/tabs.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + diff --git a/src/docs/src/documentation/resources/images/architecture.gif b/src/docs/src/documentation/resources/images/architecture.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d84a23b07a3f326f8b2a3eb912192048d15733c GIT binary patch literal 15461 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 literal 0 HcmV?d00001 diff --git a/src/docs/src/documentation/resources/images/hadoop-logo.jpg b/src/docs/src/documentation/resources/images/hadoop-logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..809525d9f158f6163c7692b5e317153ae68bf23f GIT binary patch literal 9443 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 literal 0 HcmV?d00001 diff --git a/src/docs/src/documentation/resources/images/hbase_logo_med.gif b/src/docs/src/documentation/resources/images/hbase_logo_med.gif new file mode 100644 index 0000000000000000000000000000000000000000..36d3e3c9127d8e203ce975785f332b904d6d29d3 GIT binary patch literal 3592 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 Ok|H^hBso_B0RTHpJCq{; literal 0 HcmV?d00001 diff --git a/src/docs/src/documentation/skinconf.xml b/src/docs/src/documentation/skinconf.xml new file mode 100644 index 00000000000..06d4702a95a --- /dev/null +++ b/src/docs/src/documentation/skinconf.xml @@ -0,0 +1,345 @@ + + + + + + + + + + + + true + + false + + true + + true + + + true + + + true + + + true + + + false + + + true + + + HBase + A distributed storage system for structured data built on top of Hadoop + http://hadoop.apache.org/hbase/ + images/hbase_logo_med.gif + + + Hadoop + Apache Hadoop + http://hadoop.apache.org/ + images/hadoop-logo.jpg + + + + + + + images/favicon.ico + + + 2008 + The Apache Software Foundation. + http://www.apache.org/licenses/ + + + + + + + + + + + + + + + + + + + p.quote { + margin-left: 2em; + padding: .5em; + background-color: #f0f0f0; + font-family: monospace; + } + + + + + + + + + + + + + + + + + + + + + + + + + 1in + 1in + 1.25in + 1in + + + + false + + + false + + + + + + Built with Apache Forrest + http://forrest.apache.org/ + images/built-with-forrest-button.png + 88 + 31 + + + + + + diff --git a/src/docs/status.xml b/src/docs/status.xml new file mode 100644 index 00000000000..3ac3fda4098 --- /dev/null +++ b/src/docs/status.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + Initial Import + + + + + + + + + Customize this template project with your project's details. This + TODO list is generated from 'status.xml'. + + + Add lots of content. XML content goes in + src/documentation/content/xdocs, or wherever the + ${project.xdocs-dir} property (set in + forrest.properties) points. + + + Mail forrest-dev@xml.apache.org + with feedback. + + + + + +