├── images └── YaCyLogo2011_60.png ├── yaml ├── add-ons │ ├── microformats │ │ ├── icons │ │ │ ├── hcard.png │ │ │ ├── hcalendar.png │ │ │ ├── icon-geo.png │ │ │ ├── icon-xfn.png │ │ │ ├── icon-hatom.png │ │ │ ├── icon-haudio.png │ │ │ ├── icon-hcard.png │ │ │ ├── xfn │ │ │ │ ├── xfn-me.png │ │ │ │ ├── xfn-child.png │ │ │ │ ├── xfn-friend.png │ │ │ │ ├── xfn-parent.png │ │ │ │ ├── xfn-small.png │ │ │ │ ├── xfn-spouse.png │ │ │ │ ├── xfn-colleague.png │ │ │ │ ├── xfn-friend-met.png │ │ │ │ ├── xfn-sweetheart.png │ │ │ │ ├── xfn-colleague-met.png │ │ │ │ └── xfn-sweetheart-met.png │ │ │ ├── external_link.png │ │ │ ├── icon-hcalendar.png │ │ │ ├── icon-hcard-add.png │ │ │ ├── icon-hresume.png │ │ │ ├── icon-rel-tag.png │ │ │ ├── icon-hcalendar-add.png │ │ │ ├── icon-hcard-download.png │ │ │ └── icon-hcalendar-download.png │ │ └── microformats.css │ ├── rtl-support │ │ ├── screen │ │ │ └── typography-rtl.css │ │ ├── navigation │ │ │ ├── hlist-rtl.css │ │ │ └── vlist-rtl.css │ │ ├── forms │ │ │ └── gray-theme-rtl.css │ │ └── core │ │ │ ├── base-rtl.min.css │ │ │ └── base-rtl.css │ ├── syncheight │ │ └── jquery.syncheight.js │ └── accessible-tabs │ │ ├── tabs.css │ │ └── jquery.tabs.js ├── print │ └── print.css ├── core │ ├── js │ │ └── yaml-focusfix.js │ ├── iehacks.min.css │ ├── base.min.css │ ├── iehacks.css │ └── base.css ├── screen │ ├── grid-960gs-12.css │ ├── grid-fluid-12col.css │ ├── grid-960gs-16.css │ ├── grid-blueprint.css │ ├── screen-FULLPAGE-layout.css │ ├── screen-PAGE-layout.css │ └── typography.css └── navigation │ ├── hlist.css │ └── vlist.css ├── .project ├── readme.html ├── LICENSE.txt ├── css ├── yacysearch-yaml.css ├── yacysearch-portal.css └── yacysearch-result.css ├── js ├── setup.js ├── search.js ├── model.js └── lib │ ├── backbone-min.js │ └── underscore-min.js └── yacysearch ├── navigation.js ├── usage.html ├── index.html └── about.html /images/YaCyLogo2011_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/images/YaCyLogo2011_60.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/hcard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/hcard.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/hcalendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/hcalendar.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-geo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-geo.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-xfn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-xfn.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-hatom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-hatom.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-haudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-haudio.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-hcard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-hcard.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-me.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/external_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/external_link.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-hcalendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-hcalendar.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-hcard-add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-hcard-add.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-hresume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-hresume.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-rel-tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-rel-tag.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-child.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-child.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-friend.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-parent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-parent.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-small.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-spouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-spouse.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-hcalendar-add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-hcalendar-add.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-hcard-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-hcard-download.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-colleague.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-colleague.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-friend-met.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-friend-met.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-sweetheart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-sweetheart.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-colleague-met.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-colleague-met.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/icon-hcalendar-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/icon-hcalendar-download.png -------------------------------------------------------------------------------- /yaml/add-ons/microformats/icons/xfn/xfn-sweetheart-met.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/yacy_webclient_yaml4/master/yaml/add-ons/microformats/icons/xfn/xfn-sweetheart-met.png -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | yacy_webclient_yaml4 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /readme.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | LICENSE 2 | 3 | This template collection is licensed under Creative Commons Attribution 2.0 License (CC-BY 2.0). 4 | This work is based on the YAML4 CSS Framework which is also licensed under (CC-BY 2.0). 5 | 6 | The /yaml directory is taken (copied) from the YAML4 CSS Framework 7 | 8 | If you use this work, please attribute with a link to 9 | searchpage_template_yaml4 (https://gitorious.org/yacy/searchpage_template_yaml4), 10 | the YAML4 CSS Framework (http://yaml.de) 11 | and YaCy (http://yacy.net) as given in the example templates. 12 | -------------------------------------------------------------------------------- /yaml/add-ons/rtl-support/screen/typography-rtl.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) Uniform design of standard content elements 5 | * (de) Einheitliche Standardformatierungen für die wichtigten Inhalts-Elemente 6 | * 7 | * @copyright © 2005-2013, Dirk Jesse 8 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 9 | * YAML-CDL (http://www.yaml.de/license.html) 10 | * @link http://www.yaml.de 11 | * @package yaml 12 | * @version 4.1.2 13 | */ 14 | @media all { 15 | /* --- Lists | Listen -------------------------------------------------------------------------------- */ 16 | ul, 17 | ol, 18 | dl { 19 | margin-left: 0; 20 | margin-right: 1em; 21 | } 22 | 23 | li { 24 | margin-left: 0; 25 | margin-right: 0.8em; 26 | } 27 | 28 | dd { 29 | margin-left: 0; 30 | margin-right: 0.8em; 31 | } 32 | 33 | /* --- general text formatting | Allgemeine Textauszeichnung ------------------------------------------ */ 34 | blockquote { 35 | margin-left: 0; 36 | margin-right: 1.5em; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /css/yacysearch-yaml.css: -------------------------------------------------------------------------------- 1 | /* 2 | * yacysearch.css 3 | * Style for the searchpage_template_yaml4 web-page template 4 | * First published 6.3.2013 at https://gitorious.org/yacy/searchpage_template_yaml4 5 | * (C) by Michael Peter Christen, licensed under a 6 | * Creative Commons Attribution 2.0 Generic License (CC-BY 2.0) 7 | * If you enhance this, please clone the repository and give us a pull request! 8 | */ 9 | 10 | /* import core styles | Basis-Stylesheets einbinden */ 11 | @import url(../yaml/core/base.css); 12 | 13 | /* import screen layout | Screen-Layout einbinden */ 14 | @import url(../yaml/forms/gray-theme.css); 15 | 16 | @import url(../yaml/screen/typography.css); 17 | /* @import url(../yaml/screen/screen-PAGE-layout.css); */ 18 | @import url(../yaml/screen/screen-FULLPAGE-layout.css); 19 | 20 | /* import screen layout | Screen-Layout einbinden */ 21 | @import url(../yaml/navigation/vlist.css); 22 | @import url(../yaml/navigation/hlist.css); 23 | @import url(../yaml/add-ons/accessible-tabs/tabs.css); 24 | @import url(../yaml/add-ons/microformats/microformats.css); 25 | 26 | /*@import url(screen.css);*/ 27 | 28 | /* import print layout | Druck-Layout einbinden */ 29 | @import url(../yaml/print/print.css); 30 | 31 | /* import print layout | Druck-Layout einbinden */ 32 | @import url(../yaml/print/print.css); 33 | -------------------------------------------------------------------------------- /yaml/print/print.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * default print stylesheet 5 | * 6 | * @copyright © 2005-2013, Dirk Jesse 7 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 8 | * YAML-CDL (http://www.yaml.de/license.html) 9 | * @link http://www.yaml.de 10 | * @package yaml 11 | * @version 4.1.2 12 | */ 13 | @media print { 14 | /** 15 | * @section basic layout preparation 16 | */ 17 | /* (en) change font size unit to [pt] - avoids problems with [px] in Gecko based browsers */ 18 | /* (de) Wechsel der der Schriftgrößen-Maßheinheit zu [pt] - Probleme mit [px] in Gecko-Browsern vermeiden */ 19 | body { 20 | font-size: 10pt; 21 | padding: 0 5px; 22 | } 23 | 24 | /* (en) Hide unneeded container of the screenlayout in print layout */ 25 | /* (de) Für den Druck nicht benötigte Container des Layouts abschalten */ 26 | nav, 27 | .ym-searchform { 28 | display: none; 29 | } 30 | 31 | /*------------------------------------------------------------------------------------------------------*/ 32 | /* (en) Avoid page breaks right after headings */ 33 | /* (de) Vermeidung von Seitenumbrüchen direkt nach einer Überschrift */ 34 | h1, 35 | h2, 36 | h3, 37 | h4, 38 | h5, 39 | h6 { 40 | page-break-after: avoid; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /yaml/add-ons/rtl-support/navigation/hlist-rtl.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) RTL Horizontal list navigation "hlist" 5 | * (de) RTL Horizontale Navigationsliste "hlist" 6 | * 7 | * @note: Many thanks to Alexander Hass (http://www.yaml-fuer-drupal.de/) for contribution 8 | * 9 | * @copyright © 2005-2013, Dirk Jesse 10 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 11 | * YAML-CDL (http://www.yaml.de/license.html) 12 | * @link http://www.yaml.de 13 | * @package yaml 14 | * @version 4.1.2 15 | */ 16 | @media all { 17 | /** 18 | * (en) Workaround disappearing list elements on hover 19 | * (de) Workaround verhindert das Verschwinden der Listenelemente beim Hovern 20 | * 21 | * @workaround 22 | * @affected IE 5.x/Win, IE6, IE7 23 | * @css-for IE 5.x/Win, IE6, IE7 24 | * @valid yes 25 | */ 26 | .ym-hlist * { 27 | direction: ltr !important; 28 | } 29 | .ym-hlist a, 30 | .ym-hlist strong { 31 | direction: rtl !important; 32 | } 33 | .ym-hlist ul { 34 | position: relative; 35 | float: right; 36 | margin-left: 0; 37 | } 38 | .ym-hlist ul li { 39 | float: right; 40 | text-align: right !important; 41 | } 42 | 43 | /* change back direction to RTL for child elements */ 44 | .ym-searchform { 45 | direction: rtl !important; 46 | float: left; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /yaml/add-ons/rtl-support/forms/gray-theme-rtl.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) RTL support for forms (gray-theme) 5 | * (de) RTL Unterstützung für das Gray-Theme des Formularbaukastens 6 | * 7 | * @copyright © 2005-2013, Dirk Jesse 8 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 9 | * YAML-CDL (http://www.yaml.de/license.html) 10 | * @link http://www.yaml.de 11 | * @package yaml 12 | * @version 4.1.2 13 | */ 14 | @media screen { 15 | .ym-form select { 16 | padding: 3px 1px 3px 2px; 17 | } 18 | 19 | /* adjust buttons */ 20 | .ym-button, 21 | .ym-form button, 22 | .ym-form input[type="button"], 23 | .ym-form input[type="reset"], 24 | .ym-form input[type="submit"] { 25 | margin: 0 0 0 0.75em; 26 | } 27 | 28 | .ym-form button:before, 29 | .ym-button:before { 30 | float: right; 31 | margin: 0 -1em 0 1em; 32 | border-radius: 0; 33 | border-top-right-radius: 0.15em; 34 | border-bottom-right-radius: 0.15em; 35 | -webkit-box-shadow: -1px 0 0 rgba(0, 0, 0, 0.5), -2px 0 0 rgba(255, 255, 255, 0.5); 36 | box-shadow: -1px 0 0 rgba(0, 0, 0, 0.5), -2px 0 0 rgba(255, 255, 255, 0.5); 37 | } 38 | 39 | /* ie6 support styles - redefined buttons, because of missing support for attribute selectors */ 40 | * html .ym-button, 41 | * html .ym-form button { 42 | margin: 1.5em 0 0 0.75em; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /yaml/add-ons/rtl-support/core/base-rtl.min.css: -------------------------------------------------------------------------------- 1 | /*! yamlcss v4.1.2 (2013-07-28) */ 2 | 3 | @media all{option{padding:0 .4em 0 0}body{text-align:right;direction:rtl}ul,ol,dl{margin:0 1em 1em 0}li{margin-left:0;margin-right:.8em}dd{margin:0 .8em 1em 0}blockquote,cite{margin:0 .8em 1em 0}.ym-form{direction:rtl}.ym-form *{text-align:right}.ym-form input,.ym-form textarea{display:inline-block}.ym-form select{display:inline-block}.ym-form .ym-fbox-check input,.ym-form input[type=radio],.ym-form input[type=checkbox]{margin-left:.5ex;margin-right:0}.ym-form .ym-inline{margin-left:0}.ym-fbox-wrap input[type=radio],.ym-fbox-wrap input[type=checkbox]{margin-left:.5ex;margin-right:0}.ym-columnar input,.ym-columnar textarea,.ym-columnar select{float:right;margin-right:0;margin-left:-3px}.ym-columnar label,.ym-columnar .ym-label{display:inline;float:right}.ym-columnar input+label{margin-right:.5ex}.ym-columnar .ym-fbox-check input,.ym-columnar .ym-message{margin-left:0;margin-right:30%}.ym-columnar .ym-fbox-wrap{margin-left:0;margin-right:30%;margin-left:-3px}.ym-columnar .ym-fbox-wrap .ym-message{margin-right:0}.ym-columnar .ym-fbox-wrap label{margin-right:0}.ym-columnar .ym-fbox-wrap input{margin-right:0}.ym-columnar .ym-fbox-wrap input[type=radio],.ym-columnar .ym-fbox-wrap input[type=checkbox]{margin-left:.5ex;margin-right:0}.ym-columnar .ym-fbox-button input{float:none;margin-left:1em;margin-right:0}.ym-skiplinks{left:32768px!important}.ym-skiplinks .ym-skip:focus,.ym-skiplinks .ym-skip:active{left:-32768px!important}.ym-skip,.ym-hideme,.ym-print{left:32768px!important}.ym-text-ltr{direction:ltr;text-align:left}} -------------------------------------------------------------------------------- /css/yacysearch-portal.css: -------------------------------------------------------------------------------- 1 | /* 2 | * yacysearch-portal.css 3 | * Style for the searchpage_template_yaml4 web-page template 4 | * First published 6.3.2013 at https://gitorious.org/yacy/searchpage_template_yaml4 5 | * (C) by Michael Peter Christen, licensed under a 6 | * Creative Commons Attribution 2.0 Generic License (CC-BY 2.0) 7 | * If you enhance this, please clone the repository and give us a pull request! 8 | */ 9 | 10 | .headerbackgroundcolor, header { 11 | background-color:#444; 12 | } 13 | 14 | .boxbackgroundcolor, .search-fieldset, .ym-vlist dl, footer .ym-gl { 15 | background-color:#eee; 16 | } 17 | 18 | .headlinecolor, h1, h2, h3, h4 { 19 | color: #2080C0; 20 | } 21 | 22 | .headlineaccentcolor, .reversedcolor, .ym-vtitle, .search-button { 23 | color: #E9F3F9; 24 | } 25 | 26 | .navigationbackground, nav, .ym-hlist { 27 | background: #222; 28 | } 29 | 30 | .linkcolor, a { 31 | color: #EA672E; 32 | } 33 | 34 | .reversedcolor, .ym-vtitle, .search-button { 35 | background-color:#2080C0; 36 | } 37 | 38 | .sans, .ym-hlist { 39 | font-family: "Droid Sans",Arial,Helvetica,sans-serif; 40 | } 41 | 42 | header { 43 | height: 6em; 44 | } 45 | 46 | h1 { 47 | margin: -0.14em 0 0; 48 | font-size: 320%; 49 | } 50 | 51 | .ym-wrapper { 52 | max-width: 84em; 53 | } 54 | .ym-wbox { 55 | padding: 12px; 56 | } 57 | 58 | .ym-hlist ul li a, .ym-hlist ul li strong { 59 | text-shadow: none; 60 | padding: 0 0.21em; 61 | } 62 | 63 | .ym-hlist ul { 64 | padding-right: 0.5em; 65 | } -------------------------------------------------------------------------------- /yaml/add-ons/rtl-support/navigation/vlist-rtl.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) Vertical RTL list navigation "vlist" 5 | * (de) Vertikale RTL-Navigationsliste "vlist" 6 | * 7 | * @note: Many thanks to Alexander Hass (http://www.yaml-fuer-drupal.de/) for contribution 8 | * 9 | * @copyright © 2005-2013, Dirk Jesse 10 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 11 | * YAML-CDL (http://www.yaml.de/license.html) 12 | * @link http://www.yaml.de 13 | * @package yaml 14 | * @version 4.1.2 15 | */ 16 | @media all { 17 | /* menu title */ 18 | .ym-vtitle { 19 | padding-left: 0px; 20 | padding-right: 10%; 21 | } 22 | 23 | /* 4 navigation levels defined */ 24 | .ym-vlist { 25 | text-align: right; 26 | } 27 | .ym-vlist li { 28 | float: right; 29 | } 30 | .ym-vlist li a, 31 | .ym-vlist li strong, 32 | .ym-vlist li span { 33 | padding-left: 0px; 34 | padding-right: 10%; 35 | } 36 | .ym-vlist li ul li a, 37 | .ym-vlist li ul li strong, 38 | .ym-vlist li ul li span { 39 | padding-left: 0px; 40 | padding-right: 20%; 41 | } 42 | .ym-vlist li ul li ul li a, 43 | .ym-vlist li ul li ul li strong, 44 | .ym-vlist li ul li ul li span { 45 | padding-left: 0px; 46 | padding-right: 30%; 47 | } 48 | .ym-vlist li ul li ul li ul li a, 49 | .ym-vlist li ul li ul li ul li strong, 50 | .ym-vlist li ul li ul li ul li span { 51 | padding-left: 0px; 52 | padding-right: 40%; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /js/setup.js: -------------------------------------------------------------------------------- 1 | /* 2 | * setup.js 3 | * customization values for the searchpage_template_yaml4 web-page templates 4 | * First published 16.3.2014 at https://gitorious.org/yacy/searchpage_template_yaml4 5 | * (C) by Michael Peter Christen, licensed under a 6 | * Creative Commons Attribution 2.0 Generic License (CC-BY 2.0) 7 | * 8 | * HOW TO USE: 9 | * Just change the server address to your own search server address! 10 | * The address may be different from the place where this wab pages application is hosted 11 | * because the content is fetched using JSONP. 12 | * 13 | * After each update, you must change this again or save the address before doing an update. 14 | */ 15 | 16 | var server="localhost:8090"; 17 | //var server="141.52.175.63"; 18 | 19 | var homepage="http://yacy.net"; 20 | var logo="../images/YaCyLogo2011_60.png"; 21 | var greeting="Search Portal"; 22 | var footnote="Made with searchpage_template_yaml4,"+ 23 | "YaCy, the YAML4 CSS Framework and"+ 24 | "backbone.js."+ 25 | "Please clone our work and join in!"; 26 | 27 | function fillHeader() { 28 | /* set the values */ 29 | document.getElementById("greeting").innerHTML = greeting; 30 | document.getElementById("homepage").setAttribute("href", homepage); 31 | document.getElementById("logo").setAttribute("src", logo); 32 | } 33 | function fillFooter() { 34 | /* set the values */ 35 | document.getElementById("footnote").innerHTML = footnote; 36 | } 37 | -------------------------------------------------------------------------------- /css/yacysearch-result.css: -------------------------------------------------------------------------------- 1 | /* 2 | * yacysearch-result.css 3 | * Style for the searchpage_template_yaml4 web-page template 4 | * First published 6.3.2013 at https://gitorious.org/yacy/searchpage_template_yaml4 5 | * (C) by Michael Peter Christen, licensed under a 6 | * Creative Commons Attribution 2.0 Generic License (CC-BY 2.0) 7 | * If you enhance this, please clone the repository and give us a pull request! 8 | */ 9 | 10 | 11 | .ym-col1 { float: left; width: 250px; } /* sidebar */ 12 | .ym-col3 { margin: 0 0 0 250px; } /* content */ 13 | .ym-vtitle { 14 | border-top:none; 15 | border-bottom:none; 16 | } 17 | 18 | .ym-vlist dl { 19 | list-style-type:none; 20 | margin:0; 21 | padding:0; 22 | width:100%; 23 | overflow:hidden; 24 | } 25 | .ym-vlist dt { 26 | clear:both; 27 | padding-left:9%; 28 | width:11%; 29 | float:left; 30 | } 31 | .ym-vlist dd { 32 | margin:0; 33 | padding:0; 34 | width:80%; 35 | float:left; 36 | } 37 | 38 | .search-fieldset { 39 | padding-top:10px; 40 | padding-bottom:10px; 41 | border:0; 42 | margin-top:4px; 43 | } 44 | 45 | .search-textfield { 46 | width:100%; 47 | border:1px solid #ddd; 48 | font-size:x-large; 49 | } 50 | 51 | .search-button { 52 | height:32px; 53 | width:108px; 54 | border:1px solid #ddd; 55 | font-size:x-large; 56 | } 57 | 58 | footer { 59 | position:absolute; 60 | bottom:0px; 61 | width:100%; 62 | background-color:transparent; 63 | } 64 | footer .ym-wbox { 65 | padding-left:0.9em; 66 | padding-right:6.9em; 67 | padding-top:0; 68 | padding-bottom:0; 69 | } 70 | 71 | footer .ym-gl { 72 | height: 5em; 73 | } 74 | 75 | footer .ym-gl p { 76 | padding: 1em; 77 | } 78 | 79 | -------------------------------------------------------------------------------- /yaml/core/js/yaml-focusfix.js: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) Workaround for IE8 und Webkit browsers to fix focus problems when using skiplinks 5 | * (de) Workaround für IE8 und Webkit browser, um den Focus zu korrigieren, bei Verwendung von Skiplinks 6 | * 7 | * @note inspired by Paul Ratcliffe's article 8 | * http://www.communis.co.uk/blog/2009-06-02-skip-links-chrome-safari-and-added-wai-aria 9 | * Many thanks to Mathias Schäfer (http://molily.de/) for his code improvements 10 | * 11 | * @copyright © 2005-2013, Dirk Jesse 12 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 13 | * YAML-CDL (http://www.yaml.de/license.html) 14 | * @link http://www.yaml.de 15 | * @package yaml 16 | * @version 4.0+ 17 | */ 18 | 19 | (function () { 20 | var YAML_focusFix = { 21 | skipClass : 'ym-skip', 22 | 23 | init : function () { 24 | var userAgent = navigator.userAgent.toLowerCase(); 25 | var is_webkit = userAgent.indexOf('webkit') > -1; 26 | var is_ie = userAgent.indexOf('msie') > -1; 27 | 28 | if (is_webkit || is_ie) { 29 | var body = document.body, 30 | handler = YAML_focusFix.click; 31 | if (body.addEventListener) { 32 | body.addEventListener('click', handler, false); 33 | } else if (body.attachEvent) { 34 | body.attachEvent('onclick', handler); 35 | } 36 | } 37 | }, 38 | 39 | trim : function (str) { 40 | return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); 41 | }, 42 | 43 | click : function (e) { 44 | e = e || window.event; 45 | var target = e.target || e.srcElement; 46 | var a = target.className.split(' '); 47 | 48 | for (var i=0; i < a.length; i++) { 49 | var cls = YAML_focusFix.trim(a[i]); 50 | if ( cls === YAML_focusFix.skipClass) { 51 | YAML_focusFix.focus(target); 52 | break; 53 | } 54 | } 55 | }, 56 | 57 | focus : function (link) { 58 | if (link.href) { 59 | var href = link.href, 60 | id = href.substr(href.indexOf('#') + 1), 61 | target = document.getElementById(id); 62 | if (target) { 63 | target.setAttribute("tabindex", "-1"); 64 | target.focus(); 65 | } 66 | } 67 | } 68 | }; 69 | YAML_focusFix.init(); 70 | })(); -------------------------------------------------------------------------------- /yaml/core/iehacks.min.css: -------------------------------------------------------------------------------- 1 | /*! yamlcss v4.1.2 (2013-07-28) */ 2 | 3 | @media all{body{o\verflow:visible}article,aside,details,figcaption,figure,footer,header,main,nav,section{zoom:1}audio,canvas,video{*display:inline;*zoom:1}img{-ms-interpolation-mode:bicubic;zoom:1}* html iframe,* html frame{overflow:auto}* html input,* html frameset{overflow:hidden}* html textarea{overflow:scroll;overflow-x:hidden}body,#main{position:relative}* html body{position:static}.ym-clearfix{zoom:1}* html .ym-col1,* html .ym-col2,* html .ym-col3{position:relative}body{height:1%}.ym-wrapper,.ym-wbox,#header,#nav,#main,#footer{zoom:1}* html .ym-wrapper,* html .ym-wbox{height:1%;hei\ght:auto}* html #header,* html #nav,* html #main,* html #footer{width:100%;wid\th:auto}.ym-gbox,.ym-gbox-left,.ym-gbox-right{height:1%}* html ul,* html ol,* html dl{position:relative}body ol li{display:list-item}* html .flexible{zoom:1}button,input{*overflow:visible!important}table button,table input{*overflow:auto}fieldset,legend{position:relative}.ym-form,.ym-form div,.ym-form div *{zoom:1}.ym-form input,.ym-form textarea{width:68%;padding-left:1%!important;padding-right:1%!important}.ym-form select{width:70%;padding-left:1%!important;padding-right:1%!important}.ym-form .ym-fbox-wrap{display:block;overflow:hidden;margin-right:-5px}.ym-fbox-wrap input,.ym-fbox-wrap textarea,.ym-full input,.ym-full textarea{width:98%;margin-right:-3px}.ym-fbox-wrap select,.ym-full select{width:100%;margin-right:-3px}* html .ym-form .ym-fbox-check input{display:inline!important;width:auto!important;background:transparent!important;border:0 none!important;padding:0!important}* html .ym-form .ym-fbox-wrap .ym-fbox-check input{margin-left:0}html .ym-ie-clearing{position:static;display:block;\clear:both;width:100%;line-height:0;font-size:0;margin:-2px 0 -1em 1px}* html .ym-ie-clearing{margin:-2px 0 -1em 0}.ym-cbox{margin-bottom:-2px}html{margin-right:1px}* html{margin-right:0}.ym-col3{position:relative}}@media screen,projection{.ym-col1,.ym-col2{display:inline}.ym-grid{overflow:hidden;display:block}* html .ym-grid{overflow:visible}.ym-gl,.ym-gr{display:inline}.ym-equalize .ym-gl{float:left;display:inline;padding-bottom:32767px;margin-bottom:-32767px}.ym-equalize .ym-gr{float:right;margin-left:-5px;display:inline;padding-bottom:32767px;margin-bottom:-32767px}.no-ie-padding .ym-gl,.no-ie-padding .ym-gr{padding-bottom:0;margin-bottom:0}* html .ym-cbox-left,* html .ym-cbox-right,* html .ym-cbox{word-wrap:break-word}* html .ym-gbox,* html .ym-gbox-left,* html .ym-gbox-right{word-wrap:break-word;o\verflow:hidden}}@media print{.ym-gbox,.ym-gbox-left,.ym-gbox-right,.ym-col3{height:1%}} -------------------------------------------------------------------------------- /yaml/screen/grid-960gs-12.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * 960.gs port for YAML: 960px - 12 columns 5 | * 6 | * @copyright © 2005-2013, Dirk Jesse 7 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 8 | * YAML-CDL (http://www.yaml.de/license.html) 9 | * @link http://www.yaml.de 10 | * @package yaml 11 | * @version 4.1.2 12 | */ 13 | .ym-wrapper { 14 | width: 960px; 15 | margin: 0 auto; 16 | } 17 | 18 | .ym-gbox { 19 | padding-left: 0; 20 | padding-right: 0; 21 | margin-left: 10px; 22 | margin-right: 10px; 23 | } 24 | 25 | [class*="ym-push-"], 26 | [class*="ym-pull-"] { 27 | position: relative; 28 | } 29 | 30 | .ym-g960-1 { 31 | width: 80px; 32 | } 33 | 34 | .ym-g960-2 { 35 | width: 160px; 36 | } 37 | 38 | .ym-g960-3 { 39 | width: 240px; 40 | } 41 | 42 | .ym-g960-4 { 43 | width: 320px; 44 | } 45 | 46 | .ym-g960-5 { 47 | width: 400px; 48 | } 49 | 50 | .ym-g960-6 { 51 | width: 480px; 52 | } 53 | 54 | .ym-g960-7 { 55 | width: 560px; 56 | } 57 | 58 | .ym-g960-8 { 59 | width: 640px; 60 | } 61 | 62 | .ym-g960-9 { 63 | width: 720px; 64 | } 65 | 66 | .ym-g960-10 { 67 | width: 800px; 68 | } 69 | 70 | .ym-g960-11 { 71 | width: 880px; 72 | } 73 | 74 | .ym-g960-12 { 75 | width: 960px; 76 | } 77 | 78 | .ym-push-1 { 79 | left: 80px; 80 | } 81 | 82 | .ym-push-2 { 83 | left: 160px; 84 | } 85 | 86 | .ym-push-3 { 87 | left: 240px; 88 | } 89 | 90 | .ym-push-4 { 91 | left: 320px; 92 | } 93 | 94 | .ym-push-5 { 95 | left: 400px; 96 | } 97 | 98 | .ym-push-6 { 99 | left: 480px; 100 | } 101 | 102 | .ym-push-7 { 103 | left: 560px; 104 | } 105 | 106 | .ym-push-8 { 107 | left: 640px; 108 | } 109 | 110 | .ym-push-9 { 111 | left: 720px; 112 | } 113 | 114 | .ym-push-10 { 115 | left: 800px; 116 | } 117 | 118 | .ym-push-11 { 119 | left: 880px; 120 | } 121 | 122 | .ym-pull-1 { 123 | left: -80px; 124 | } 125 | 126 | .ym-pull-2 { 127 | left: -160px; 128 | } 129 | 130 | .ym-pull-3 { 131 | left: -240px; 132 | } 133 | 134 | .ym-pull-4 { 135 | left: -320px; 136 | } 137 | 138 | .ym-pull-5 { 139 | left: -400px; 140 | } 141 | 142 | .ym-pull-6 { 143 | left: -480px; 144 | } 145 | 146 | .ym-pull-7 { 147 | left: -560px; 148 | } 149 | 150 | .ym-pull-8 { 151 | left: -640px; 152 | } 153 | 154 | .ym-pull-9 { 155 | left: -720px; 156 | } 157 | 158 | .ym-pull-10 { 159 | left: -800px; 160 | } 161 | 162 | .ym-pull-11 { 163 | left: -880px; 164 | } 165 | -------------------------------------------------------------------------------- /yaml/screen/grid-fluid-12col.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * Fluid 12 column grid 5 | * 6 | * @copyright © 2005-2013, Dirk Jesse 7 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 8 | * YAML-CDL (http://www.yaml.de/license.html) 9 | * @link http://www.yaml.de 10 | * @package yaml 11 | * @version 4.1.2 12 | */ 13 | .ym-wrapper { 14 | width: 100%; 15 | margin: 0 auto; 16 | } 17 | 18 | .ym-gbox { 19 | padding-left: 0; 20 | padding-right: 0; 21 | margin-left: 0; 22 | margin-right: 10px; 23 | } 24 | 25 | [class*="ym-push-"], 26 | [class*="ym-pull-"] { 27 | position: relative; 28 | } 29 | 30 | .ym-span-1 { 31 | width: 8.33333%; 32 | } 33 | 34 | .ym-span-2 { 35 | width: 16.66667%; 36 | } 37 | 38 | .ym-span-3 { 39 | width: 25%; 40 | } 41 | 42 | .ym-span-4 { 43 | width: 33.33333%; 44 | } 45 | 46 | .ym-span-5 { 47 | width: 41.66667%; 48 | } 49 | 50 | .ym-span-6 { 51 | width: 50%; 52 | } 53 | 54 | .ym-span-7 { 55 | width: 58.33333%; 56 | } 57 | 58 | .ym-span-8 { 59 | width: 66.66667%; 60 | } 61 | 62 | .ym-span-9 { 63 | width: 75%; 64 | } 65 | 66 | .ym-span-10 { 67 | width: 83.33333%; 68 | } 69 | 70 | .ym-span-11 { 71 | width: 91.66667%; 72 | } 73 | 74 | .ym-span-12 { 75 | width: 100%; 76 | } 77 | 78 | .ym-push-1 { 79 | left: 8.33333%; 80 | } 81 | 82 | .ym-push-2 { 83 | left: 16.66667%; 84 | } 85 | 86 | .ym-push-3 { 87 | left: 25%; 88 | } 89 | 90 | .ym-push-4 { 91 | left: 33.33333%; 92 | } 93 | 94 | .ym-push-5 { 95 | left: 41.66667%; 96 | } 97 | 98 | .ym-push-6 { 99 | left: 50%; 100 | } 101 | 102 | .ym-push-7 { 103 | left: 58.33333%; 104 | } 105 | 106 | .ym-push-8 { 107 | left: 66.66667%; 108 | } 109 | 110 | .ym-push-9 { 111 | left: 75%; 112 | } 113 | 114 | .ym-push-10 { 115 | left: 83.33333%; 116 | } 117 | 118 | .ym-push-11 { 119 | left: 91.66667%; 120 | } 121 | 122 | .ym-pull-1 { 123 | left: -8.33333%; 124 | } 125 | 126 | .ym-pull-2 { 127 | left: -16.66667%; 128 | } 129 | 130 | .ym-pull-3 { 131 | left: -25%; 132 | } 133 | 134 | .ym-pull-4 { 135 | left: -33.33333%; 136 | } 137 | 138 | .ym-pull-5 { 139 | left: -41.66667%; 140 | } 141 | 142 | .ym-pull-6 { 143 | left: -50%; 144 | } 145 | 146 | .ym-pull-7 { 147 | left: -58.33333%; 148 | } 149 | 150 | .ym-pull-8 { 151 | left: -66.66667%; 152 | } 153 | 154 | .ym-pull-9 { 155 | left: -75%; 156 | } 157 | 158 | .ym-pull-10 { 159 | left: -83.33333%; 160 | } 161 | 162 | .ym-pull-11 { 163 | left: -91.66667%; 164 | } 165 | -------------------------------------------------------------------------------- /yaml/navigation/hlist.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) Horizontal list navigation "hlist" 5 | * (de) Horizontale Navigationsliste "hlist" 6 | * 7 | * @copyright © 2005-2013, Dirk Jesse 8 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 9 | * YAML-CDL (http://www.yaml.de/license.html) 10 | * @link http://www.yaml.de 11 | * @package yaml 12 | * @version 4.1.2 13 | */ 14 | @media all { 15 | .ym-hlist { 16 | /* (en) containing floats in IE */ 17 | /* (de) Einfassen der Floats im IE */ 18 | width: 100%; 19 | overflow: hidden; 20 | position: relative; 21 | line-height: 1em; 22 | background: #222; 23 | } 24 | .ym-hlist ul { 25 | margin: 0; 26 | padding: 0.5em 1.5em; 27 | display: inline; 28 | float: left; 29 | } 30 | .ym-hlist ul li { 31 | display: inline; 32 | float: left; 33 | font-size: 1.0em; 34 | line-height: 1; 35 | list-style-type: none; 36 | margin: 0 .25em 0 0; 37 | padding: 0; 38 | } 39 | .ym-hlist ul li a, .ym-hlist ul li strong { 40 | background: transparent; 41 | color: #aaa; 42 | display: block; 43 | font-size: 1em; 44 | line-height: 2em; 45 | padding: 0 0.5em; 46 | font-weight: normal; 47 | text-decoration: none; 48 | text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5); 49 | width: auto; 50 | } 51 | .ym-hlist ul li a:focus, 52 | .ym-hlist ul li a:hover, 53 | .ym-hlist ul li a:active { 54 | color: #ccc; 55 | background: #666; 56 | background: rgba(255, 255, 255, 0.25); 57 | border-radius: 0.2em; 58 | text-decoration: none; 59 | outline: 0 none; 60 | } 61 | .ym-hlist ul li.active { 62 | background: #666; 63 | background: rgba(255, 255, 255, 0.3); 64 | border-radius: 0.2em; 65 | color: #fff; 66 | } 67 | .ym-hlist ul li.active strong, 68 | .ym-hlist ul li.active a:focus, 69 | .ym-hlist ul li.active a:hover, 70 | .ym-hlist ul li.active a:active { 71 | background: transparent; 72 | color: #fff; 73 | text-decoration: none; 74 | } 75 | 76 | /* ------- search form -------- */ 77 | .ym-searchform { 78 | float: right; 79 | display: inline; 80 | line-height: 2; 81 | padding: 0.5em 1.5em; 82 | } 83 | .ym-searchform .ym-searchfield { 84 | -webkit-appearance: none; 85 | background: #fff; 86 | line-height: 1; 87 | padding: 0.25em; 88 | width: 12em; 89 | border: solid 1px #888; 90 | border: solid 1px rgba(255, 255, 255, 0.1); 91 | outline: none; 92 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); 93 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); 94 | } 95 | .ym-searchform .ym-searchbutton { 96 | -webkit-appearance: none; 97 | background: #5f5f5f; 98 | background: rgba(255, 255, 255, 0.2); 99 | border-radius: .2em; 100 | color: #fff; 101 | cursor: pointer; 102 | display: inline-block; 103 | font-size: 1em; 104 | line-height: 1.25; 105 | padding: 0.25em; 106 | border: solid 1px transparent; 107 | text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5); 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /yaml/screen/grid-960gs-16.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * 960.gs port for YAML: 960px - 16 columns 5 | * 6 | * @copyright © 2005-2013, Dirk Jesse 7 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 8 | * YAML-CDL (http://www.yaml.de/license.html) 9 | * @link http://www.yaml.de 10 | * @package yaml 11 | * @version 4.1.2 12 | */ 13 | .ym-wrapper { 14 | width: 960px; 15 | margin: 0 auto; 16 | } 17 | 18 | .ym-gbox { 19 | padding-left: 0; 20 | padding-right: 0; 21 | margin-left: 10px; 22 | margin-right: 10px; 23 | } 24 | 25 | [class*="ym-push-"], 26 | [class*="ym-pull-"] { 27 | position: relative; 28 | } 29 | 30 | .ym-g960-1 { 31 | width: 60px; 32 | } 33 | 34 | .ym-g960-2 { 35 | width: 120px; 36 | } 37 | 38 | .ym-g960-3 { 39 | width: 180px; 40 | } 41 | 42 | .ym-g960-4 { 43 | width: 240px; 44 | } 45 | 46 | .ym-g960-5 { 47 | width: 300px; 48 | } 49 | 50 | .ym-g960-6 { 51 | width: 360px; 52 | } 53 | 54 | .ym-g960-7 { 55 | width: 420px; 56 | } 57 | 58 | .ym-g960-8 { 59 | width: 480px; 60 | } 61 | 62 | .ym-g960-9 { 63 | width: 540px; 64 | } 65 | 66 | .ym-g960-10 { 67 | width: 600px; 68 | } 69 | 70 | .ym-g960-11 { 71 | width: 660px; 72 | } 73 | 74 | .ym-g960-12 { 75 | width: 720px; 76 | } 77 | 78 | .ym-g960-13 { 79 | width: 780px; 80 | } 81 | 82 | .ym-g960-14 { 83 | width: 840px; 84 | } 85 | 86 | .ym-g960-15 { 87 | width: 900px; 88 | } 89 | 90 | .ym-g960-16 { 91 | width: 960px; 92 | } 93 | 94 | .ym-push-1 { 95 | left: 60px; 96 | } 97 | 98 | .ym-push-2 { 99 | left: 120px; 100 | } 101 | 102 | .ym-push-3 { 103 | left: 180px; 104 | } 105 | 106 | .ym-push-4 { 107 | left: 240px; 108 | } 109 | 110 | .ym-push-5 { 111 | left: 300px; 112 | } 113 | 114 | .ym-push-6 { 115 | left: 360px; 116 | } 117 | 118 | .ym-push-7 { 119 | left: 420px; 120 | } 121 | 122 | .ym-push-8 { 123 | left: 480px; 124 | } 125 | 126 | .ym-push-9 { 127 | left: 540px; 128 | } 129 | 130 | .ym-push-10 { 131 | left: 600px; 132 | } 133 | 134 | .ym-push-11 { 135 | left: 660px; 136 | } 137 | 138 | .ym-push-12 { 139 | left: 720px; 140 | } 141 | 142 | .ym-push-13 { 143 | left: 780px; 144 | } 145 | 146 | .ym-push-14 { 147 | left: 840px; 148 | } 149 | 150 | .ym-push-15 { 151 | left: 900px; 152 | } 153 | 154 | .ym-pull-1 { 155 | left: -60px; 156 | } 157 | 158 | .ym-pull-2 { 159 | left: -120px; 160 | } 161 | 162 | .ym-pull-3 { 163 | left: -180px; 164 | } 165 | 166 | .ym-pull-4 { 167 | left: -240px; 168 | } 169 | 170 | .ym-pull-5 { 171 | left: -300px; 172 | } 173 | 174 | .ym-pull-6 { 175 | left: -360px; 176 | } 177 | 178 | .ym-pull-7 { 179 | left: -420px; 180 | } 181 | 182 | .ym-pull-8 { 183 | left: -480px; 184 | } 185 | 186 | .ym-pull-9 { 187 | left: -540px; 188 | } 189 | 190 | .ym-pull-10 { 191 | left: -600px; 192 | } 193 | 194 | .ym-pull-11 { 195 | left: -660px; 196 | } 197 | 198 | .ym-pull-12 { 199 | left: -720px; 200 | } 201 | 202 | .ym-pull-13 { 203 | left: -780px; 204 | } 205 | 206 | .ym-pull-14 { 207 | left: -840px; 208 | } 209 | 210 | .ym-pull-15 { 211 | left: -900px; 212 | } 213 | -------------------------------------------------------------------------------- /yaml/add-ons/syncheight/jquery.syncheight.js: -------------------------------------------------------------------------------- 1 | /** 2 | * syncHeight - jQuery plugin to automagically Sync the heights of columns 3 | * Made to seemlessly work with the CCS-Framework YAML (yaml.de) 4 | * @requires jQuery v1.0.3 or newer 5 | * 6 | * http://blog.ginader.de/dev/syncheight/ 7 | * 8 | * Copyright (c) 2007-2013 9 | * Dirk Ginader (ginader.de) 10 | * Dirk Jesse (yaml.de) 11 | * Dual licensed under the MIT and GPL licenses: 12 | * http://www.opensource.org/licenses/mit-license.php 13 | * http://www.gnu.org/licenses/gpl.html 14 | * 15 | * Version: 1.5 16 | * 17 | * Changelog 18 | * * v1.5 fixes issue with box-sizing: border-box 19 | * * v1.4: new Method unSyncHeight() that removes previously added syncs i.e. for responsive layouts 20 | * * v1.3: compatibility fix for jQuery 1.9.x (removed $.browser) 21 | * 22 | * Usage sync: 23 | $(window).load(function(){ 24 | $('p').syncHeight(); 25 | }); 26 | * Usage unsync: 27 | $(window).resize(function(){ 28 | if($(window).width() < 500){ 29 | $('p').unSyncHeight(); 30 | } 31 | }); 32 | */ 33 | 34 | (function($) { 35 | var getHeightProperty = function() { 36 | var browser_id = 0; 37 | var property = [ 38 | // To avoid content overflow in synchronised boxes on font scaling, we 39 | // use 'min-height' property for modern browsers ... 40 | ['min-height','0px'], 41 | // and 'height' property for Internet Explorer. 42 | ['height','1%'] 43 | ]; 44 | 45 | var bMatch = /(msie) ([\w.]+)/.exec(navigator.userAgent.toLowerCase()) || [], 46 | browser = bMatch[1] || "", 47 | browserVersion = bMatch[2] || "0"; 48 | 49 | // check for IE6 ... 50 | if(browser === 'msie' && browserVersion < 7){ 51 | browser_id = 1; 52 | } 53 | 54 | return { 55 | 'name': property[browser_id][0], 56 | 'autoheightVal': property[browser_id][1] 57 | }; 58 | }; 59 | 60 | $.getSyncedHeight = function(selector) { 61 | var max = 0; 62 | var heightProperty = getHeightProperty(); 63 | // get maximum element height ... 64 | $(selector).each(function() { 65 | // fallback to auto height before height check ... 66 | $(this).css(heightProperty.name, heightProperty.autoheightVal); 67 | var val = parseInt($(this).css('height'),10); 68 | if(val > max){ 69 | max = val; 70 | } 71 | }); 72 | return max; 73 | }; 74 | 75 | $.fn.syncHeight = function(config) { 76 | var defaults = { 77 | updateOnResize: false, // re-sync element heights after a browser resize event (useful in flexible layouts) 78 | height: false 79 | }; 80 | 81 | var options = $.extend(defaults, config); 82 | var e = this; 83 | var max = 0; 84 | var heightPropertyName = getHeightProperty().name; 85 | 86 | if(typeof(options.height) === "number") { 87 | max = options.height; 88 | } else { 89 | max = $.getSyncedHeight(this); 90 | } 91 | 92 | // set synchronized element height ... 93 | $(this).each(function() { 94 | $(this).css(heightPropertyName, max+'px'); 95 | }); 96 | 97 | // optional sync refresh on resize event ... 98 | if (options.updateOnResize === true) { 99 | $(window).resize(function(){ 100 | $(e).syncHeight(); 101 | }); 102 | } 103 | return this; 104 | }; 105 | 106 | $.fn.unSyncHeight = function() { 107 | var heightPropertyName = getHeightProperty().name; 108 | $(this).each(function() { 109 | $(this).css(heightPropertyName, ''); 110 | }); 111 | }; 112 | })(jQuery); 113 | -------------------------------------------------------------------------------- /yacysearch/navigation.js: -------------------------------------------------------------------------------- 1 | /* 2 | * navigation.js 3 | * Functions for the searchpage_template_yaml4 web-page templates 4 | * First published 7.3.2013 at https://gitorious.org/yacy/searchpage_template_yaml4 5 | * (C) by Michael Peter Christen, licensed under a 6 | * Creative Commons Attribution 2.0 Generic License (CC-BY 2.0) 7 | * If you enhance this, please clone the repository and give us a pull request! 8 | */ 9 | 10 | 11 | var menulist = new Array( 12 | "Usage:usage.html", 13 | "Search:index.html", 14 | "About:about.html" 15 | ); 16 | 17 | String.prototype.endsWith = function(suffix) { 18 | return this.indexOf(suffix, this.length - suffix.length) !== -1; 19 | }; 20 | 21 | function menu() { 22 | document.writeln(""); 39 | } 40 | 41 | function context() { 42 | document.writeln("
"); 43 | languages(); 44 | searchform(); 45 | document.writeln("
"); 46 | } 47 | 48 | function languages() { 49 | document.writeln(""); 56 | } 57 | 58 | function searchform() { 59 | document.writeln("
"); 60 | document.writeln(""); 61 | document.writeln(""); 62 | document.writeln("
"); 63 | } 64 | 65 | function footer() { 66 | document.writeln("

Search Portal for a YaCy Search Engine (GPL2) based on the searchpage_template_yaml4 (CC-BY 2.0) template and the YAML4 CSS Framework (CC-BY 2.0)

"); 67 | } 68 | 69 | if (top != self) top.location.replace(location); // this will remove the google translate header if this page is rendered with the google translator 70 | 71 | window.onscroll = function() { 72 | var footer = document.getElementById('footer'); 73 | if (footer) { 74 | footer.style.position = 'fixed'; 75 | footer.style.bottom = '0'; 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /yaml/add-ons/accessible-tabs/tabs.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * (en) Styles for Accessible-Tabs plugin for jQuery 4 | * (de) Gestaltung des Acessible-Tabs Plugins für jQuery 5 | * 6 | * @copyright © 2005-2013, Dirk Jesse 7 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 8 | * YAML-CDL (http://www.yaml.de/license.html) 9 | * @link http://www.yaml.de 10 | * @package yaml 11 | * @version 4.1.2 12 | */ 13 | @media screen, projection { 14 | .jquery_tabs { 15 | margin: 0 0 1.5em 0; 16 | } 17 | .jquery_tabs ul.tabs-list { 18 | font-size: 1em; 19 | display: table; 20 | table-layout: fixed; 21 | list-style-type: none; 22 | margin: 0; 23 | position: relative; 24 | z-index: 1; 25 | } 26 | .jquery_tabs ul.tabs-list li { 27 | margin: 0 4px 0 0; 28 | border: 0 none; 29 | display: inline; 30 | float: left; 31 | padding: 0; 32 | } 33 | .jquery_tabs ul.tabs-list li a { 34 | font-size: 1em; 35 | line-height: 1.5; 36 | padding: 0.75em; 37 | background: transparent; 38 | display: block; 39 | float: left; 40 | font-weight: normal; 41 | margin: 0; 42 | } 43 | .jquery_tabs ul.tabs-list li a:focus, .jquery_tabs ul.tabs-list li a:hover, .jquery_tabs ul.tabs-list li a:active { 44 | background: #eee; 45 | border-radius: 0.2em 0.2em 0 0; 46 | color: #000; 47 | font-weight: normal; 48 | outline: 0 none; 49 | text-decoration: none; 50 | } 51 | .jquery_tabs ul.tabs-list li.current a, 52 | .jquery_tabs ul.tabs-list li.current a:focus, 53 | .jquery_tabs ul.tabs-list li.current a:hover, 54 | .jquery_tabs ul.tabs-list li.current a:active { 55 | background: #fff; 56 | border: 1px #ccc solid; 57 | border-radius: 0.2em 0.2em 0 0; 58 | color: #000; 59 | border-bottom: 0 none; 60 | font-weight: bold; 61 | text-decoration: none; 62 | } 63 | .jquery_tabs .content { 64 | border-top: 1px #ccc solid; 65 | clear: both; 66 | padding: 0; 67 | position: relative; 68 | top: -1px; 69 | margin-bottom: -1px; 70 | } 71 | 72 | /* hiding texts visually */ 73 | .jquery_tabs .tabhead { 74 | position: absolute; 75 | left: -32768px; 76 | } 77 | 78 | .jquery_tabs .current-info, 79 | .jquery_tabs .accessibletabsanchor { 80 | left: -999em; 81 | position: absolute; 82 | } 83 | 84 | /** Avoid margin collapsing to enable correct sync of all tabs 85 | * 86 | * @workaround 87 | * @affected all browsers 88 | * @css-for all browsers 89 | * @valid yes 90 | */ 91 | .jquery_tabs .tab-content { 92 | border-bottom: 1px transparent solid; 93 | border-top: 1px transparent solid; 94 | padding-top: 1.5em; 95 | *overflow: hidden; 96 | } 97 | 98 | /** Containing floats adjustment and stability fixes for Internet Explorer 99 | * 100 | * @workaround 101 | * @affected IE 5.x/Win, IE6, IE7 102 | * @css-for IE 5.x/Win, IE6, IE7 103 | * @valid no 104 | */ 105 | * html .jquery_tabs { 106 | zoom: 1; 107 | width: auto; 108 | position: relative; 109 | } 110 | * html .jquery_tabs .tab-content { 111 | border-bottom: 1px #fff solid; 112 | border-top: 1px #fff solid; 113 | } 114 | * html .jquery_tabs .content { 115 | z-index: -1; 116 | } 117 | 118 | * + html .jquery_tabs { 119 | zoom: 1; 120 | width: auto; 121 | } 122 | 123 | .jquery_tabs * { 124 | zoom: 1; 125 | } 126 | } 127 | /* Make tabs printable */ 128 | @media print { 129 | .jquery_tabs .tabs-list { 130 | display: none !important; 131 | } 132 | .jquery_tabs .tabbody, 133 | .jquery_tabs .tabhead { 134 | display: block !important; 135 | } 136 | } 137 | -------------------------------------------------------------------------------- /yaml/navigation/vlist.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) Vertical list navigation "vlist" 5 | * (de) Vertikale Navigationsliste "vlist" 6 | * 7 | * @copyright © 2005-2013, Dirk Jesse 8 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 9 | * YAML-CDL (http://www.yaml.de/license.html) 10 | * @link http://www.yaml.de 11 | * @package yaml 12 | * @version 4.1.2 13 | */ 14 | @media all { 15 | /* 4 navigation levels defined */ 16 | .ym-vlist { 17 | margin: 0 0 1.5em 0; 18 | list-style-type: none; 19 | background: transparent; 20 | border: 0 none; 21 | } 22 | .ym-vlist ul { 23 | list-style-type: none; 24 | margin: 0; 25 | padding: 0; 26 | width: 100%; 27 | overflow: hidden; 28 | border-top: 2px #ddd solid; 29 | border-bottom: 2px #ddd solid; 30 | } 31 | .ym-vlist ul ul { 32 | border: 0 none; 33 | } 34 | .ym-vlist li { 35 | float: left; 36 | width: 100%; 37 | margin: 0; 38 | padding: 0; 39 | background-color: #fff; 40 | } 41 | .ym-vlist a, 42 | .ym-vlist strong, 43 | .ym-vlist span { 44 | display: block; 45 | padding: 3px 0px 3px 10%; 46 | text-decoration: none; 47 | border-bottom: 1px #ddd solid; 48 | } 49 | .ym-vlist a, 50 | .ym-vlist a:visited { 51 | color: #444; 52 | } 53 | .ym-vlist li span { 54 | display: block; 55 | font-weight: bold; 56 | border-bottom: 1px #ddd solid; 57 | } 58 | .ym-vlist li.active { 59 | color: #fff; 60 | background-color: #444; 61 | } 62 | .ym-vlist li.active strong { 63 | font-weight: bold; 64 | } 65 | .ym-vlist li a, 66 | .ym-vlist li strong, 67 | .ym-vlist li span { 68 | width: 90%; 69 | padding-left: 10%; 70 | } 71 | .ym-vlist li a:focus, 72 | .ym-vlist li a:hover, 73 | .ym-vlist li a:active { 74 | background-color: #888; 75 | color: #fff; 76 | outline: 0 none; 77 | } 78 | .ym-vlist li ul li a, 79 | .ym-vlist li ul li strong, 80 | .ym-vlist li ul li span { 81 | width: 80%; 82 | padding-left: 20%; 83 | } 84 | .ym-vlist li ul li a, 85 | .ym-vlist li ul li a:visited { 86 | background-color: #f8f8f8; 87 | color: #333; 88 | } 89 | .ym-vlist li ul li a:focus, 90 | .ym-vlist li ul li a:hover, 91 | .ym-vlist li ul li a:active { 92 | background-color: #888; 93 | color: #fff; 94 | } 95 | .ym-vlist li ul li ul li a, 96 | .ym-vlist li ul li ul li strong, 97 | .ym-vlist li ul li ul li span { 98 | width: 70%; 99 | padding-left: 30%; 100 | } 101 | .ym-vlist li ul li ul li a, 102 | .ym-vlist li ul li ul li a:visited { 103 | background-color: #f0f0f0; 104 | color: #222; 105 | } 106 | .ym-vlist li ul li ul li a:focus, 107 | .ym-vlist li ul li ul li a:hover, 108 | .ym-vlist li ul li ul li a:active { 109 | background-color: #888; 110 | color: #fff; 111 | } 112 | .ym-vlist li ul li ul li ul li a, 113 | .ym-vlist li ul li ul li ul li strong, 114 | .ym-vlist li ul li ul li ul li span { 115 | width: 60%; 116 | padding-left: 40%; 117 | } 118 | .ym-vlist li ul li ul li ul li a, 119 | .ym-vlist li ul li ul li ul li a:visited { 120 | background-color: #e8e8e8; 121 | color: #111; 122 | } 123 | .ym-vlist li ul li ul li ul li a:focus, 124 | .ym-vlist li ul li ul li ul li a:hover, 125 | .ym-vlist li ul li ul li ul li a:active { 126 | background-color: #888; 127 | color: #fff; 128 | } 129 | 130 | /* title */ 131 | .ym-vtitle { 132 | font-weight: bold; 133 | font-size: 100%; 134 | width: 90%; 135 | padding: 3px 0px 3px 10%; 136 | margin: 0; 137 | color: #444; 138 | background-color: #fff; 139 | border-top: 2px #ddd solid; 140 | } 141 | .ym-vtitle + ul { 142 | border-top: 4px #888 solid; 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /yaml/screen/grid-blueprint.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * Blueprint CSS port for YAML - 24 columns 5 | * 6 | * @copyright © 2005-2013, Dirk Jesse 7 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 8 | * YAML-CDL (http://www.yaml.de/license.html) 9 | * @link http://www.yaml.de 10 | * @package yaml 11 | * @version 4.1.2 12 | */ 13 | .ym-wrapper { 14 | width: 960px; 15 | margin: 0 auto; 16 | } 17 | 18 | .ym-gbox { 19 | padding-left: 0; 20 | padding-right: 0; 21 | margin-left: 0; 22 | margin-right: 10px; 23 | } 24 | 25 | [class*="ym-push-"], 26 | [class*="ym-pull-"] { 27 | position: relative; 28 | } 29 | 30 | .ym-span-1 { 31 | width: 40px; 32 | } 33 | 34 | .ym-span-2 { 35 | width: 80px; 36 | } 37 | 38 | .ym-span-3 { 39 | width: 120px; 40 | } 41 | 42 | .ym-span-4 { 43 | width: 160px; 44 | } 45 | 46 | .ym-span-5 { 47 | width: 200px; 48 | } 49 | 50 | .ym-span-6 { 51 | width: 240px; 52 | } 53 | 54 | .ym-span-7 { 55 | width: 280px; 56 | } 57 | 58 | .ym-span-8 { 59 | width: 320px; 60 | } 61 | 62 | .ym-span-9 { 63 | width: 360px; 64 | } 65 | 66 | .ym-span-10 { 67 | width: 400px; 68 | } 69 | 70 | .ym-span-11 { 71 | width: 440px; 72 | } 73 | 74 | .ym-span-12 { 75 | width: 480px; 76 | } 77 | 78 | .ym-span-13 { 79 | width: 520px; 80 | } 81 | 82 | .ym-span-14 { 83 | width: 560px; 84 | } 85 | 86 | .ym-span-15 { 87 | width: 600px; 88 | } 89 | 90 | .ym-span-16 { 91 | width: 640px; 92 | } 93 | 94 | .ym-span-17 { 95 | width: 680px; 96 | } 97 | 98 | .ym-span-18 { 99 | width: 720px; 100 | } 101 | 102 | .ym-span-19 { 103 | width: 760px; 104 | } 105 | 106 | .ym-span-20 { 107 | width: 800px; 108 | } 109 | 110 | .ym-span-21 { 111 | width: 840px; 112 | } 113 | 114 | .ym-span-22 { 115 | width: 880px; 116 | } 117 | 118 | .ym-span-23 { 119 | width: 920px; 120 | } 121 | 122 | .ym-span-24 { 123 | width: 960px; 124 | } 125 | 126 | .ym-push-1 { 127 | left: 40px; 128 | } 129 | 130 | .ym-push-2 { 131 | left: 80px; 132 | } 133 | 134 | .ym-push-3 { 135 | left: 120px; 136 | } 137 | 138 | .ym-push-4 { 139 | left: 160px; 140 | } 141 | 142 | .ym-push-5 { 143 | left: 200px; 144 | } 145 | 146 | .ym-push-6 { 147 | left: 240px; 148 | } 149 | 150 | .ym-push-7 { 151 | left: 280px; 152 | } 153 | 154 | .ym-push-8 { 155 | left: 320px; 156 | } 157 | 158 | .ym-push-9 { 159 | left: 360px; 160 | } 161 | 162 | .ym-push-10 { 163 | left: 400px; 164 | } 165 | 166 | .ym-push-11 { 167 | left: 440px; 168 | } 169 | 170 | .ym-push-12 { 171 | left: 480px; 172 | } 173 | 174 | .ym-push-13 { 175 | left: 520px; 176 | } 177 | 178 | .ym-push-14 { 179 | left: 560px; 180 | } 181 | 182 | .ym-push-15 { 183 | left: 600px; 184 | } 185 | 186 | .ym-push-16 { 187 | left: 640px; 188 | } 189 | 190 | .ym-push-17 { 191 | left: 680px; 192 | } 193 | 194 | .ym-push-18 { 195 | left: 720px; 196 | } 197 | 198 | .ym-push-19 { 199 | left: 760px; 200 | } 201 | 202 | .ym-push-20 { 203 | left: 800px; 204 | } 205 | 206 | .ym-push-21 { 207 | left: 840px; 208 | } 209 | 210 | .ym-push-22 { 211 | left: 880px; 212 | } 213 | 214 | .ym-push-23 { 215 | left: 920px; 216 | } 217 | 218 | .ym-pull-1 { 219 | left: -40px; 220 | } 221 | 222 | .ym-pull-2 { 223 | left: -80px; 224 | } 225 | 226 | .ym-pull-3 { 227 | left: -120px; 228 | } 229 | 230 | .ym-pull-4 { 231 | left: -160px; 232 | } 233 | 234 | .ym-pull-5 { 235 | left: -200px; 236 | } 237 | 238 | .ym-pull-6 { 239 | left: -240px; 240 | } 241 | 242 | .ym-pull-7 { 243 | left: -280px; 244 | } 245 | 246 | .ym-pull-8 { 247 | left: -320px; 248 | } 249 | 250 | .ym-pull-9 { 251 | left: -360px; 252 | } 253 | 254 | .ym-pull-10 { 255 | left: -400px; 256 | } 257 | 258 | .ym-pull-11 { 259 | left: -440px; 260 | } 261 | 262 | .ym-pull-12 { 263 | left: -480px; 264 | } 265 | 266 | .ym-pull-13 { 267 | left: -520px; 268 | } 269 | 270 | .ym-pull-14 { 271 | left: -560px; 272 | } 273 | 274 | .ym-pull-15 { 275 | left: -600px; 276 | } 277 | 278 | .ym-pull-16 { 279 | left: -640px; 280 | } 281 | 282 | .ym-pull-17 { 283 | left: -680px; 284 | } 285 | 286 | .ym-pull-18 { 287 | left: -720px; 288 | } 289 | 290 | .ym-pull-19 { 291 | left: -760px; 292 | } 293 | 294 | .ym-pull-20 { 295 | left: -800px; 296 | } 297 | 298 | .ym-pull-21 { 299 | left: -840px; 300 | } 301 | 302 | .ym-pull-22 { 303 | left: -880px; 304 | } 305 | 306 | .ym-pull-23 { 307 | left: -920px; 308 | } 309 | -------------------------------------------------------------------------------- /yaml/add-ons/rtl-support/core/base-rtl.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * (en) YAML core RTL stylesheet 4 | * (de) YAML Basis-RTL-Stylesheet 5 | * 6 | * Don't make any changes in this file! 7 | * Your changes should be placed in any css-file in your own stylesheet folder. 8 | * 9 | * @note: Many thanks to Alexander Hass (http://www.yaml-fuer-drupal.de/) for contribution 10 | * 11 | * @copyright © 2005-2013, Dirk Jesse 12 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 13 | * YAML-CDL (http://www.yaml.de/license.html) 14 | * @link http://www.yaml.de 15 | * @package yaml 16 | * @version 4.1.2 17 | */ 18 | @media all { 19 | /** 20 | * @section browser normalisation 21 | * Changing direction of text flow, paddings & margins ... 22 | */ 23 | option { 24 | padding: 0 0.4em 0 0; 25 | } 26 | 27 | body { 28 | text-align: right; 29 | direction: rtl; 30 | } 31 | 32 | ul, 33 | ol, 34 | dl { 35 | margin: 0 1em 1em 0; 36 | } 37 | 38 | li { 39 | margin-left: 0; 40 | margin-right: 0.8em; 41 | } 42 | 43 | dd { 44 | margin: 0 0.8em 1em 0; 45 | } 46 | 47 | blockquote, 48 | cite { 49 | margin: 0 0.8em 1em 0; 50 | } 51 | 52 | /* set text flow */ 53 | .ym-form { 54 | direction: rtl; 55 | } 56 | .ym-form * { 57 | text-align: right; 58 | } 59 | .ym-form input, 60 | .ym-form textarea { 61 | display: inline-block; 62 | } 63 | .ym-form select { 64 | display: inline-block; 65 | } 66 | .ym-form .ym-fbox-check input, 67 | .ym-form input[type="radio"], 68 | .ym-form input[type="checkbox"] { 69 | margin-left: 0.5ex; 70 | margin-right: 0; 71 | } 72 | .ym-form .ym-inline { 73 | margin-left: 0; 74 | } 75 | 76 | .ym-fbox-wrap input[type="radio"], 77 | .ym-fbox-wrap input[type="checkbox"] { 78 | margin-left: 0.5ex; 79 | margin-right: 0; 80 | } 81 | 82 | /*------------------------------------------------------------------------------------------------------*/ 83 | /** 84 | * (en) rtl adjustments for forms module 85 | * (de) RTL-Anpassungen für das Formular Modul 86 | * 87 | */ 88 | .ym-columnar input, 89 | .ym-columnar textarea, 90 | .ym-columnar select { 91 | float: right; 92 | margin-right: 0; 93 | margin-left: -3px; 94 | } 95 | .ym-columnar label, 96 | .ym-columnar .ym-label { 97 | display: inline; 98 | float: right; 99 | } 100 | .ym-columnar input + label { 101 | margin-right: 0.5ex; 102 | } 103 | .ym-columnar .ym-fbox-check input, 104 | .ym-columnar .ym-message { 105 | margin-left: 0; 106 | margin-right: 30%; 107 | } 108 | .ym-columnar .ym-fbox-wrap { 109 | margin-left: 0; 110 | margin-right: 30%; 111 | margin-left: -3px; 112 | } 113 | .ym-columnar .ym-fbox-wrap .ym-message { 114 | margin-right: 0%; 115 | } 116 | .ym-columnar .ym-fbox-wrap label { 117 | margin-right: 0; 118 | } 119 | .ym-columnar .ym-fbox-wrap input { 120 | margin-right: 0; 121 | } 122 | .ym-columnar .ym-fbox-wrap input[type="radio"], 123 | .ym-columnar .ym-fbox-wrap input[type="checkbox"] { 124 | margin-left: 0.5ex; 125 | margin-right: 0; 126 | } 127 | .ym-columnar .ym-fbox-button input { 128 | float: none; 129 | margin-left: 1em; 130 | margin-right: 0; 131 | } 132 | 133 | /*------------------------------------------------------------------------------------------------------*/ 134 | /** 135 | * (en) skip links cause large horizontal scrollbars in RTL mode in several browsers 136 | * (de) skip links erzeugen große horziontale Scrollbalken in verschiedenen Browserin im RTL-Modus 137 | * 138 | * @workaround 139 | * @affected Firefox, Safari, IE 5.x - IE7 140 | * @css-for all 141 | * @valid yes 142 | */ 143 | .ym-skiplinks { 144 | left: 32768px !important; 145 | } 146 | .ym-skiplinks .ym-skip:focus, .ym-skiplinks .ym-skip:active { 147 | left: -32768px !important; 148 | } 149 | 150 | .ym-skip, 151 | .ym-hideme, 152 | .ym-print { 153 | left: 32768px !important; 154 | } 155 | 156 | /*------------------------------------------------------------------------------------------------------*/ 157 | /** 158 | * @section miscellaneous 159 | * 160 | * (en) CSS-class for ltr-content (left to right) within a rtl website 161 | * (de) Eine CSS-Klasse für ltr-Inhalte (left to right) innerhalb einer rtl-Seite 162 | */ 163 | .ym-text-ltr { 164 | direction: ltr; 165 | text-align: left; 166 | } 167 | } 168 | -------------------------------------------------------------------------------- /js/search.js: -------------------------------------------------------------------------------- 1 | /* 2 | * search.js 3 | * Functions for the searchpage_template_yaml4 web-page template index.html 4 | * First published 7.3.2013 at https://gitorious.org/yacy/searchpage_template_yaml4 5 | * (C) by Michael Peter Christen, licensed under a 6 | * Creative Commons Attribution 2.0 Generic License (CC-BY 2.0) 7 | * If you enhance this, please clone the repository and give us a pull request! 8 | */ 9 | 10 | // static globals 11 | var searchResult; // the result of a search 12 | var rowCollection; // the collection of search result rows 13 | 14 | function search(query, startRecord, maximumRecords, layout) { 15 | var navhtml = document.getElementById("searchnavigation"); 16 | var resulthtml = document.getElementById("searchresults"); 17 | if (navhtml != null) navhtml.innerHTML = "

loading...

"; 18 | if (maximumRecords == "") maximumRecords = 10; 19 | if (startRecord == "") startRecord = 0; 20 | if (query == null) query == ""; 21 | 22 | var siteModel = new ModifierModel({key:'site',query:query}); 23 | var filetypeModel = new ModifierModel({key:'filetype',query:query}); 24 | var ext = filetypeModel.attributes.value; 25 | var hl = (layout=="paragraph") ? 'true' : 'false'; 26 | 27 | searchResult = new SearchModel({hl:hl,query:query,start:startRecord,rows:maximumRecords,servlet:"index.html",layout:layout}); 28 | searchResult.fetch({ 29 | success:function(searchResult) { 30 | navhtml.innerHTML = "

parsing result...

"; 31 | rowCollection = new RowCollection({servlet:searchResult.attributes.servlet}); 32 | rowCollection.add(searchResult.attributes.items); 33 | var totalResults = searchResult.attributes.totalResults.replace(/[,.]/,""); 34 | var navigation = searchResult.navigationCollection(); 35 | 36 | // update navigation 37 | var topics = navigation.facet("topics"); 38 | var sitefacet = navigation.facet("domains"); 39 | var site = sitefacet ? sitefacet.facetElements() : {}; 40 | for (var key in site) {if (query.indexOf("site:" + key) >= 0) delete site[key];} 41 | var filetypefacet = navigation.facet("filetypes"); 42 | var filetypes = filetypefacet ? filetypefacet.facetElements() : {}; 43 | for (var key in filetypes) {if (query.indexOf("filetype:" + key) >= 0) delete filetypes[key];} 44 | 45 | if (ext == "png" || ext == "gif" || ext == "jpg" || ext == "PNG" || ext == "GIF" || ext == "JPG") { 46 | document.getElementById("searchnavigation").innerHTML = "

found " + this.length + " images, preparing...

"; 47 | resulthtml.innerHTML = rowCollection.resultImages(); 48 | hideDownloadScript(); 49 | navhtml.innerHTML = searchResult.fullPageNavigation("Image Matrix Size"); 50 | } else if (layout=="paragraph") { 51 | document.getElementById("searchnavigation").innerHTML = "

found " + this.length + " images, preparing result list...

"; 52 | resulthtml.innerHTML = rowCollection.resultList(); 53 | hideScriptButton(); 54 | navhtml.innerHTML = searchResult.fullPageNavigation("Result List Size"); 55 | } else { 56 | document.getElementById("searchnavigation").innerHTML = "

found " + this.length + " documents, preparing table...

"; 57 | resulthtml.innerHTML = rowCollection.resultTable(); 58 | hideDownloadScript(); 59 | navhtml.innerHTML = searchResult.fullPageNavigation("Result Table Size"); 60 | } 61 | navhtml.innerHTML += searchResult.renderNavigation("Result Layout"); 62 | if (filetypefacet) navhtml.innerHTML += filetypefacet.facetBox(searchResult.attributes.servlet, filetypeModel.attributes.key, filetypeModel.attributes.value, 8, searchResult); 63 | if (sitefacet) navhtml.innerHTML += sitefacet.facetBox(searchResult.attributes.servlet, siteModel.attributes.key, siteModel.attributes.value, 16, searchResult); 64 | } 65 | }); 66 | } 67 | 68 | function makeDownloadScript() { 69 | document.getElementById("downloadscript").innerHTML = "
" + rowCollection.resultScript(); + "

"; 70 | document.getElementById("downloadbutton").innerHTML = ""; 71 | } 72 | 73 | function hideDownloadScript() { 74 | document.getElementById("downloadscript").innerHTML = ""; 75 | var dlb = document.getElementById("downloadbutton"); 76 | if (dlb) dlb.innerHTML = ""; 77 | } 78 | 79 | function hideScriptButton() { 80 | document.getElementById("downloadscript").innerHTML = ""; 81 | var dlb = document.getElementById("downloadbutton"); 82 | if (dlb) dlb.innerHTML = ""; 83 | } -------------------------------------------------------------------------------- /yaml/screen/screen-FULLPAGE-layout.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * default screen stylesheet - FULLPAGE-layout type layout 5 | * 6 | * @copyright © 2005-2013, Dirk Jesse 7 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 8 | * YAML-CDL (http://www.yaml.de/license.html) 9 | * @link http://www.yaml.de 10 | * @package yaml 11 | * @version 4.1.2 12 | */ 13 | @media screen { 14 | /* force vertical scrollbar */ 15 | body { 16 | overflow-y: scroll; 17 | } 18 | 19 | /* Layout Module Configuration */ 20 | .ym-wrapper { 21 | max-width: 80em; 22 | margin: 0 auto; 23 | } 24 | 25 | .ym-wbox { 26 | padding: 1.5em; 27 | } 28 | 29 | /* fallback for missing media queries support*/ 30 | body > header, body > nav, body > main, body > footer { 31 | min-width: 760px; 32 | } 33 | 34 | /* Basic Element Styling */ 35 | header { 36 | background: #444; 37 | color: #ccc; 38 | } 39 | header h1 { 40 | background: transparent; 41 | color: #fff; 42 | } 43 | header .ym-wbox { 44 | padding: 1.5em; 45 | } 46 | 47 | nav { 48 | background: #222222; 49 | } 50 | 51 | main .info { 52 | margin-bottom: 1.5em; 53 | } 54 | main aside .ym-gbox-right { 55 | border-left: 1px #ddd solid; 56 | } 57 | 58 | footer { 59 | background: #eee; 60 | color: #444; 61 | } 62 | footer p { 63 | margin: 0; 64 | } 65 | footer .ym-wbox { 66 | padding: 1.5em; 67 | } 68 | 69 | .ym-gbox { 70 | padding: 0 1.5em; 71 | } 72 | 73 | .ym-gbox-left { 74 | padding: 0 1.5em 0 0; 75 | } 76 | 77 | .ym-gbox-right { 78 | padding: 0 0 0 1.5em; 79 | } 80 | 81 | /* skip links styling */ 82 | .ym-skiplinks a.ym-skip:focus, 83 | .ym-skiplinks a.ym-skip:active { 84 | color: #fff; 85 | background: #333; 86 | border-bottom: 1px #000 solid; 87 | padding: 10px 0; 88 | text-align: center; 89 | text-decoration: none; 90 | } 91 | } 92 | /* reset fallback values in modern browsers */ 93 | @media screen and (min-width: 0px) { 94 | body > header, body > nav, body > main, body > footer { 95 | min-width: 0; 96 | } 97 | } 98 | @media screen and (max-width: 760px) { 99 | /* Linearisation for Grid- and Column-Module, based on CSS class .linearize-level-1 */ 100 | .linearize-level-1, .linearize-level-1 > [class*="ym-c"], .linearize-level-1 > [class*="ym-g"] { 101 | /* linearization for grids and columns module */ 102 | display: block; 103 | float: none; 104 | padding: 0; 105 | margin: 0; 106 | width: auto !important; 107 | } 108 | .linearize-level-1 > [class*="ym-c"] > [class*="ym-cbox"], .linearize-level-1 > [class*="ym-g"] > [class*="ym-gbox"] { 109 | /* reset defined gutter values */ 110 | margin: 0; 111 | padding: 0; 112 | /* optional for containing floats */ 113 | overflow: hidden; 114 | } 115 | 116 | .secondary { 117 | border-top: 1px #888 solid; 118 | margin-top: 1.5em !important; 119 | padding-top: 1.5em !important; 120 | } 121 | 122 | main aside .ym-gbox-right { 123 | border: 0 none; 124 | } 125 | 126 | .ym-searchform { 127 | display: block; 128 | float: none; 129 | width: auto; 130 | text-align: right; 131 | } 132 | 133 | .ym-searchform input[type="search"] { 134 | width: 14%; 135 | } 136 | } 137 | @media screen and (max-width: 480px) { 138 | /* Linearisation for Grid- and Column-Module, based on CSS class .linearize-level-2 */ 139 | .linearize-level-2, .linearize-level-2 > [class*="ym-c"], .linearize-level-2 > [class*="ym-g"] { 140 | /* linearization for grids and columns module */ 141 | display: block; 142 | float: none; 143 | padding: 0; 144 | margin: 0; 145 | width: auto !important; 146 | } 147 | .linearize-level-2 > [class*="ym-c"] > [class*="ym-cbox"], .linearize-level-2 > [class*="ym-g"] > [class*="ym-gbox"] { 148 | /* reset defined gutter values */ 149 | margin: 0; 150 | padding: 0; 151 | /* optional for containing floats */ 152 | overflow: hidden; 153 | } 154 | 155 | header .ym-wbox { 156 | padding: 0.75em 10px; 157 | } 158 | header h1 { 159 | font-size: 1.5em; 160 | line-height: 1em; 161 | margin: 0; 162 | } 163 | 164 | footer .ym-wbox, 165 | .ym-wbox, 166 | .ym-searchform, 167 | nav .ym-hlist ul { 168 | padding-left: 10px; 169 | padding-right: 10px; 170 | } 171 | 172 | .ym-searchform, 173 | nav .ym-hlist ul, 174 | nav .ym-hlist li { 175 | display: block; 176 | float: none; 177 | width: auto; 178 | text-align: left; 179 | } 180 | 181 | .ym-searchform input[type="search"] { 182 | width: 75%; 183 | } 184 | } 185 | -------------------------------------------------------------------------------- /yaml/screen/screen-PAGE-layout.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * default screen stylesheet - PAGE-layout type layout 5 | * 6 | * @copyright © 2005-2013, Dirk Jesse 7 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 8 | * YAML-CDL (http://www.yaml.de/license.html) 9 | * @link http://www.yaml.de 10 | * @package yaml 11 | * @version 4.1.2 12 | */ 13 | @media screen { 14 | /* force vertical scrollbar */ 15 | body { 16 | overflow-y: scroll; 17 | } 18 | 19 | /* Layout Module Configuration & fallback for unsupported media queries */ 20 | .ym-wrapper { 21 | min-width: 760px; 22 | max-width: 80em; 23 | margin: 0 auto; 24 | } 25 | 26 | .ym-wbox { 27 | padding: 10px; 28 | } 29 | 30 | /* Basic Element Styling */ 31 | header { 32 | background: #444; 33 | color: #ccc; 34 | padding: 1.5em; 35 | } 36 | header h1 { 37 | background: transparent; 38 | color: #fff; 39 | } 40 | 41 | nav { 42 | background: #222222; 43 | } 44 | 45 | main { 46 | padding: 1.5em 0 0 0; 47 | } 48 | 49 | footer { 50 | margin: 0; 51 | background: #eee; 52 | color: #444; 53 | padding: 1.5em; 54 | } 55 | footer p { 56 | margin: 0; 57 | } 58 | 59 | /* Column-Set Configuration: 1-3 (sidebar right) */ 60 | .ym-column { 61 | display: block; 62 | overflow: hidden; 63 | padding-right: 340px; 64 | width: auto; 65 | } 66 | 67 | /* content - column */ 68 | .ym-col1 { 69 | float: left; 70 | width: 100%; 71 | } 72 | 73 | /* sidebar - column */ 74 | .ym-col3 { 75 | position: relative; 76 | float: left; 77 | width: 340px; 78 | margin-left: 0; 79 | margin-right: -340px; 80 | } 81 | 82 | .ym-col1 .ym-cbox { 83 | padding: 0 0.75em 0 1.5em; 84 | } 85 | 86 | .ym-col3 .ym-cbox { 87 | padding: 0 20px 0 12px; 88 | } 89 | 90 | .ym-gbox { 91 | padding: 0 1.5em 0 0; 92 | } 93 | 94 | /* skip links styling */ 95 | .ym-skiplinks a.ym-skip:focus, 96 | .ym-skiplinks a.ym-skip:active { 97 | color: #fff; 98 | background: #333; 99 | border-bottom: 1px #000 solid; 100 | padding: 10px 0; 101 | text-align: center; 102 | text-decoration: none; 103 | } 104 | } 105 | /* reset fallback values in modern browsers */ 106 | @media screen and (min-width: 0px) { 107 | .ym-wrapper { 108 | min-width: 0px; 109 | } 110 | } 111 | @media screen and (max-width: 760px) { 112 | /* Linearisation for Grid- and Column-Module, based on CSS class .linearize-level-1 */ 113 | .linearize-level-1, .linearize-level-1 > [class*="ym-c"], .linearize-level-1 > [class*="ym-g"] { 114 | /* linearization for grids and columns module */ 115 | display: block; 116 | float: none; 117 | padding: 0; 118 | margin: 0; 119 | width: auto !important; 120 | } 121 | .linearize-level-1 > [class*="ym-c"] > [class*="ym-cbox"], .linearize-level-1 > [class*="ym-g"] > [class*="ym-gbox"] { 122 | /* reset defined gutter values */ 123 | margin: 0; 124 | padding: 0; 125 | /* optional for containing floats */ 126 | overflow: hidden; 127 | } 128 | 129 | nav .ym-hlist ul { 130 | padding-right: 10px; 131 | } 132 | 133 | .ym-searchform { 134 | display: block; 135 | float: none; 136 | width: auto; 137 | padding-right: 10px; 138 | text-align: right; 139 | } 140 | 141 | .ym-searchform input[type="search"] { 142 | width: 14%; 143 | } 144 | } 145 | @media screen and (max-width: 480px) { 146 | .ym-wbox { 147 | padding: 0; 148 | } 149 | 150 | header { 151 | padding: 0.75em 10px; 152 | } 153 | header h1 { 154 | font-size: 1.5em; 155 | line-height: 1em; 156 | margin: 0; 157 | } 158 | 159 | footer, 160 | main, 161 | .ym-searchform, 162 | nav .ym-hlist ul { 163 | padding-left: 10px; 164 | padding-right: 10px; 165 | } 166 | 167 | /* Linearisation for Grid- and Column-Module, based on CSS class .linearize-level-2 */ 168 | .linearize-level-2, .linearize-level-2 > [class*="ym-c"], .linearize-level-2 > [class*="ym-g"] { 169 | /* linearization for grids and columns module */ 170 | display: block; 171 | float: none; 172 | padding: 0; 173 | margin: 0; 174 | width: auto !important; 175 | } 176 | .linearize-level-2 > [class*="ym-c"] > [class*="ym-cbox"], .linearize-level-2 > [class*="ym-g"] > [class*="ym-gbox"] { 177 | /* reset defined gutter values */ 178 | margin: 0; 179 | padding: 0; 180 | /* optional for containing floats */ 181 | overflow: hidden; 182 | } 183 | 184 | .ym-searchform, 185 | nav .ym-hlist ul, 186 | nav .ym-hlist li { 187 | display: block; 188 | float: none; 189 | width: auto; 190 | text-align: left; 191 | } 192 | 193 | .ym-searchform input[type="search"] { 194 | width: 75%; 195 | } 196 | } 197 | -------------------------------------------------------------------------------- /yacysearch/usage.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | YaCy - Search Portal: Usage of Search Templates 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 24 | 25 | 26 | 27 |
28 |
29 |
30 |

  

31 |
32 |
33 |
34 | 35 | 43 | 44 |
45 |
46 |
47 |

Search Page Templates for YaCy using YAML4 and backbone.js

48 |

49 | This is a search web-page template for a YaCy search portal based on the YAML4 CSS Framework. 50 | It contains a copy of yaml4 and web pages for a YaCy Search Portal together with special styles and a JavaScript environment to fetch search results from a YaCy server. 51 |

52 |
53 |
54 |
55 |

Usage

56 |
57 |
58 |
59 |
60 |

Run YaCy

61 |

First, you need a running YaCy Server and you must put in the documents to search.
Download YaCy

62 |

Modify the YaCy Server Address

63 |

Open the file js/setup.js and put in the server address of your YaCy. If you run YaCy with default settings on the same server with these files, then just leave everything as it is.

64 |

Customize

65 |

The templates are listed in the top menu. The links to the templates are in yacysearch/navigation.js. 66 | You may recogize that it is possible to show search results in different ways! ('paragraph' lists, tables with files, download lists, image grids, ..). If you don't like some of these option, remove the call to the corresponding model in explorer.js.

67 |

To change the icon, edit the search template file (i.e. yacysearch/explorer.html). To change colors, edit the file css/yacysearch-portal.css

68 |

Change titles, the name of the search headline and colors as you like. Throw away the other search pages which you don't like and add your own web pages. Just edit the file navigation.js and put in the names of the web pages which shall appear in the top menu.

69 |
70 |
71 |
72 | 73 |
74 |
75 |
76 |

License

77 |
78 |
79 |
80 |
81 |

(CC-BY 2.0) and GPL2

82 |

This template collection is licensed under Creative Commons Attribution 2.0 License (CC-BY 2.0). This work is based on the YAML4 CSS Framework which is also licensed under (CC-BY 2.0).

83 |

If you use this design, please attribute with a link to searchpage_template_yaml4 (https://gitorious.org/yacy/searchpage_template_yaml4), 84 | the YAML4 CSS Framework (http://yaml.de) 85 | and YaCy (http://yacy.net) as given in the example template. 86 | You can of course modify the header, texts, icons, colours, styles and everything else as you like.

87 |
88 |
89 |
90 |
91 |
92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /yacysearch/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | YaCy - Search Portal 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 29 | 30 | 33 | 34 | 35 | 36 |
37 |
38 |
39 |

  

40 |
41 |
42 |
43 | 44 | 45 | 53 | 54 |
55 |
56 |
57 |
58 |
59 |
60 |

Document Retrieval

61 |
62 |
63 |
64 |
65 |
66 |
67 | 68 | 69 | 70 | 71 |
72 |
73 | 74 |
75 |
76 | 77 |
78 |
79 |
80 | 81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |

 

93 |

 

94 |
95 |
96 | 97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 | 108 |
129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /yaml/core/base.min.css: -------------------------------------------------------------------------------- 1 | /*! yamlcss v4.1.2 (2013-07-28) */ 2 | 3 | @media all{*{margin:0;padding:0}option{padding-left:.4em}select{padding:1px}* html body *{overflow:visible}body{font-size:100%;background:#fff;color:#000;text-align:left}div:target,h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0 none}article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none}[hidden]{display:none}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}svg:not(:root){overflow:hidden}figure{margin:0}fieldset,img{border:0 solid}ul,ol,dl{margin:0 0 1em 1em}li{line-height:1.5em;margin-left:.8em}dt{font-weight:700}dd{margin:0 0 1em .8em}blockquote{margin:0 0 1em .8em}q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}.ym-clearfix:before{content:"";display:table}.ym-clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.ym-contain-dt{display:table;table-layout:fixed;width:100%}.ym-contain-oh{display:block;overflow:hidden;width:100%}.ym-contain-fl{float:left;width:100%}.ym-column{display:table;table-layout:fixed;width:100%}.ym-col1{float:left;width:20%}.ym-col2{float:right;width:20%}.ym-col3{width:auto;margin:0 20%}.ym-cbox{padding:0 10px}.ym-cbox-left{padding:0 10px 0 0}.ym-cbox-right{padding:0 0 0 10px}.ym-ie-clearing{display:none}.ym-grid{display:table;table-layout:fixed;width:100%;list-style-type:none;padding-left:0;padding-right:0;margin-left:0;margin-right:0}.ym-gl{float:left;margin:0}.ym-gr{float:right;margin:0 0 0 -5px}.ym-g20{width:20%}.ym-g40{width:40%}.ym-g60{width:60%}.ym-g80{width:80%}.ym-g25{width:25%}.ym-g33{width:33.333%}.ym-g50{width:50%}.ym-g66{width:66.666%}.ym-g75{width:75%}.ym-g38{width:38.2%}.ym-g62{width:61.8%}.ym-gbox{padding:0 10px}.ym-gbox-left{padding:0 10px 0 0}.ym-gbox-right{padding:0 0 0 10px}.ym-equalize{overflow:hidden}.ym-equalize>[class*=ym-g]{display:table-cell;float:none;margin:0;vertical-align:top}.ym-equalize>[class*=ym-g]>[class*=ym-gbox]{padding-bottom:10000px;margin-bottom:-10000px}.ym-form,.ym-form fieldset{overflow:hidden}.ym-form div{position:relative}.ym-form label,.ym-form .ym-label,.ym-form .ym-message{position:relative;line-height:1.5;display:block}.ym-form .ym-message{clear:both}.ym-form .ym-fbox-check label{display:inline}.ym-form input,.ym-form textarea{cursor:text}.ym-form .ym-fbox-check input,.ym-form input[type=image],.ym-form input[type=radio],.ym-form input[type=checkbox],.ym-form select,.ym-form label{cursor:pointer}.ym-form textarea{overflow:auto}.ym-form input.hidden,.ym-form input[type=hidden]{display:none!important}.ym-form .ym-fbox:before,.ym-form .ym-fbox-text:before,.ym-form .ym-fbox-select:before,.ym-form .ym-fbox-check:before,.ym-form .ym-fbox-button:before{content:"";display:table}.ym-form .ym-fbox:after,.ym-form .ym-fbox-text:after,.ym-form .ym-fbox-select:after,.ym-form .ym-fbox-check:after,.ym-form .ym-fbox-button:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.ym-form .ym-fbox-check input:focus,.ym-form .ym-fbox-check input:hover,.ym-form .ym-fbox-check input:active,.ym-form input[type=radio]:focus,.ym-form input[type=radio]:hover,.ym-form input[type=radio]:active,.ym-form input[type=checkbox]:focus,.ym-form input[type=checkbox]:hover,.ym-form input[type=checkbox]:active{border:0 none}.ym-form input,.ym-form textarea,.ym-form select{display:block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:70%}.ym-form .ym-fbox-check input,.ym-form input[type=radio],.ym-form input[type=checkbox]{display:inline;margin-left:0;margin-right:.5ex;width:auto;height:auto}.ym-form input[type=image]{border:0;display:inline;height:auto;margin:0;padding:0;width:auto}.ym-form label,.ym-form .ym-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ym-form .ym-fbox-button input{display:inline;overflow:visible;width:auto}.ym-form .ym-inline{display:inline-block;float:none;margin-right:0;width:auto;vertical-align:baseline}.ym-fbox-wrap{display:table;table-layout:fixed;width:70%}.ym-fbox-wrap input,.ym-fbox-wrap textarea,.ym-fbox-wrap select{width:100%}.ym-fbox-wrap input[type=image]{width:auto}.ym-fbox-wrap input[type=radio],.ym-fbox-wrap input[type=checkbox]{display:inline;width:auto;margin-left:0;margin-right:.5ex}.ym-fbox-wrap label,.ym-fbox-wrap .ym-label{display:inline}.ym-full input,.ym-full textarea,.ym-full select{width:100%}.ym-full .ym-fbox-wrap{width:100%}.ym-columnar input,.ym-columnar textarea,.ym-columnar select{float:left;margin-right:-3px}.ym-columnar label,.ym-columnar .ym-label{display:inline;float:left;width:30%;z-index:1}.ym-columnar .ym-fbox-check input,.ym-columnar .ym-message{margin-left:30%}.ym-columnar .ym-fbox-wrap{margin-left:30%;margin-right:-3px}.ym-columnar .ym-fbox-wrap .ym-message{margin-left:0}.ym-columnar .ym-fbox-wrap label{float:none;width:auto;z-index:1;margin-left:0}.ym-columnar .ym-fbox-wrap input{margin-left:0;position:relative}.ym-columnar .ym-fbox-check{position:relative}.ym-columnar .ym-fbox-check label,.ym-columnar .ym-fbox-check .ym-label{padding-top:0}.ym-columnar .ym-fbox-check input{top:3px}.ym-columnar .ym-fbox-button input{float:none;margin-right:1em}.ym-fbox-wrap+.ym-fbox-wrap{margin-top:.5em}.ym-columnar fieldset .ym-fbox-button,fieldset.ym-columnar .ym-fbox-button{padding-left:30%}.ym-skip,.ym-hideme,.ym-print{position:absolute;top:-32768px;left:-32768px}.ym-skip:focus,.ym-skip:active{position:static;top:0;left:0}.ym-skiplinks{position:absolute;top:0;left:-32768px;z-index:1000;width:100%;margin:0;padding:0;list-style-type:none}.ym-skiplinks .ym-skip:focus,.ym-skiplinks .ym-skip:active{left:32768px;outline:0 none;position:absolute;width:100%}}@media print{.ym-grid>.ym-gl,.ym-grid>.ym-gr{overflow:visible;display:table;table-layout:fixed}.ym-print{position:static;left:0}.ym-noprint{display:none!important}} -------------------------------------------------------------------------------- /yacysearch/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | About this Search Portal 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 24 | 25 | 26 | 27 |
28 |
29 |
30 |

  

31 |
32 |
33 |
34 | 35 | 43 | 44 |
45 |
46 |
47 |

About this Search Portal

48 |

All components of this search engine are free software!

49 |
50 |
51 |
52 |

Technology

53 |
54 |
55 |
56 |
57 |

Solr, JSON(P) and JavaScript / backbone.js - driven

58 |

Search results are displayed using AJAX-technology from a Solr server which is embedded into YaCy. All search results must be provided by a YaCy search server which includes a Solr with a specialized JSON result writer. 59 | When a search request is made in one of the search templates, a http request is made to YaCy. The response is done in JSON because that can much better be parsed than XML in JavaScript. 60 | To overcome the same orgin policy in JavaScript, the result is capsuled into a JSONP response. 61 | This enables you to run YaCy anywhere and to use the results from this server somewhere else, maybe in static web pages, even from a file system. 62 | We implemented a proper model view of search results using the MV*-Fra­me­work backbone.js. 63 |

64 |

Industry-Strength Search Efficiency

65 |

Because the search results come right from a Solr instance using a specialized result writer, these templates can provide industry-strength search portals. 66 | This is an unique combination of Solr, JSON(P), flexible JavaScript presentation the beautiful YAML4 CSS Framework and the easiness of web index creation with YaCy. 67 |

68 |

Standard Compliance

69 |

There are standards for search request queries (i.e. SRU) and search request responses (i.e. opensearch). 70 | YaCy provides both! Actually these search templates send SRU requests to YaCy and the jsonp result writer in Solr (inside YaCy) returns a into-JSON transformed version of openseach. 71 | If you like, then you can also get search results from the same query url by replacing the "wt=yjson"-parameter by "wt=opensearch". 72 |

73 |

Beautiful CSS Framework

74 |

These pages are made with the YAML4 CSS Framework and it will serve you very well for the creation of own search portals. 75 | Just use the template as provided in the git repository (see below: 'Clone This!') and create your own search portal. 76 |

77 |
78 |
79 |
80 | 81 |
82 |
83 |
84 |

Please Help!

85 |
86 |
87 |
88 |
89 |

Clone This!

90 |

WE LIKE PULL REQUESTS! If you modify a style, please clone this repository, rename the modified web page template and send us a pull request, so everyone else may be able to use your modified style template as well. 91 |
Clone searchpage_template_yaml4

92 |
93 |
94 |
95 |
96 |

Talk about free search, YaCy and this framework.

97 |

Please help to show how easy and beautiful self-made web search pages are possible. We make it easy for you: just click on one of these buttons: 98 |
Create a Tweet   or   Join the Facebook Group 99 |

100 |
101 |
102 |
103 |
104 |
105 | 106 | 107 | 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /yaml/screen/typography.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) Uniform design of standard content elements 5 | * (de) Einheitliche Standardformatierungen für die wichtigten Inhalts-Elemente 6 | * 7 | * @copyright © 2005-2013, Dirk Jesse 8 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 9 | * YAML-CDL (http://www.yaml.de/license.html) 10 | * @link http://www.yaml.de 11 | * @package yaml 12 | * @version 4.1.2 13 | */ 14 | @media all { 15 | /* 16 | * @section global typography settings 17 | * 18 | * vertical rhythm settings (based on em-unit) 19 | * ------------------------------------------- 20 | * basefont-size: 14px (87.5%) 21 | * line-height : 21px (factor: 1.5) */ 22 | /* (en) reset font size for all elements to standard (16 Pixel) */ 23 | /* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */ 24 | html * { 25 | font-size: 100%; 26 | } 27 | 28 | /** 29 | * (en) reset monospaced elements to font size 16px in all browsers 30 | * (de) Schriftgröße von monospaced Elemente in allen Browsern auf 16 Pixel setzen 31 | * 32 | * @see: http://webkit.org/blog/67/strange-medium/ 33 | */ 34 | textarea, 35 | pre, 36 | code, 37 | kbd, 38 | samp, 39 | var, 40 | tt { 41 | font-family: Consolas, "Lucida Console", "Andale Mono", "Bitstream Vera Sans Mono", "Courier New", Courier; 42 | } 43 | 44 | /* font-size: 14px; */ 45 | body { 46 | font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif; 47 | font-size: 87.5%; 48 | color: #444444; 49 | } 50 | 51 | /*--- Headings | Überschriften ------------------------------------------------------------------------*/ 52 | h1, 53 | h2, 54 | h3, 55 | h4, 56 | h5, 57 | h6 { 58 | font-family: "Droid Sans", Arial, Helvetica, sans-serif; 59 | font-weight: 400; 60 | color: #161e21; 61 | margin: 0; 62 | } 63 | 64 | h1 { 65 | /* font-size: 48px; */ 66 | font-size: 342.85714%; 67 | line-height: 0.875; 68 | margin: 0 0 0.4375em 0; 69 | } 70 | 71 | h2 { 72 | /* font-size: 32px; */ 73 | font-size: 228.57143%; 74 | line-height: 1.3125; 75 | margin: 0 0 0.65625em 0; 76 | } 77 | 78 | h3 { 79 | /* font-size: 24px; */ 80 | font-size: 171.42857%; 81 | line-height: 0.875; 82 | margin: 0 0 0.875em 0; 83 | } 84 | 85 | h4 { 86 | /* font-size: 21px; */ 87 | font-size: 150%; 88 | line-height: 1; 89 | margin: 0 0 1em 0; 90 | } 91 | 92 | h5 { 93 | /* font-size: 18px; */ 94 | font-size: 128.57143%; 95 | line-height: 1.16667; 96 | margin: 0 0 1.16667em 0; 97 | } 98 | 99 | h6 { 100 | /* font-size: 14px; */ 101 | font-size: 100%; 102 | font-weight: bold; 103 | line-height: 1.5; 104 | margin: 0 0 1.5em 0; 105 | } 106 | 107 | /* --- Lists | Listen -------------------------------------------------------------------------------- */ 108 | ul, 109 | ol, 110 | dl { 111 | font-size: 100%; 112 | line-height: 1.5; 113 | margin: 0 0 1.5em 0; 114 | } 115 | 116 | ul { 117 | list-style-type: disc; 118 | } 119 | 120 | ol { 121 | list-style-type: decimal; 122 | } 123 | 124 | ul ul { 125 | list-style-type: circle; 126 | margin-top: 0; 127 | } 128 | 129 | ol ol { 130 | list-style-type: lower-latin; 131 | margin-top: 0; 132 | } 133 | 134 | ol ul { 135 | list-style-type: circle; 136 | margin-top: 0; 137 | } 138 | 139 | li { 140 | font-size: 100%; 141 | line-height: 1.5; 142 | margin-left: 1.2em; 143 | } 144 | 145 | dt { 146 | font-weight: bold; 147 | } 148 | 149 | dd { 150 | margin: 0 0 1.5em 0.8em; 151 | } 152 | 153 | /* --- general text formatting | Allgemeine Textauszeichnung ------------------------------------------ */ 154 | p { 155 | font-size: 100%; 156 | line-height: 1.5; 157 | margin: 0 0 1.5em 0; 158 | } 159 | 160 | blockquote, 161 | cite, 162 | q { 163 | font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif; 164 | font-style: italic; 165 | } 166 | 167 | blockquote { 168 | background: transparent; 169 | color: #666666; 170 | margin: 1.5em 0 0 1.5em; 171 | } 172 | 173 | strong, 174 | b { 175 | font-weight: bold; 176 | } 177 | 178 | em, 179 | i { 180 | font-style: italic; 181 | } 182 | 183 | big { 184 | /* font-size: 16px; */ 185 | font-size: 114.28571%; 186 | line-height: 1.3125; 187 | } 188 | 189 | small { 190 | /* font-size: 12px; */ 191 | font-size: 85.71429%; 192 | line-height: 1.75; 193 | } 194 | 195 | pre, 196 | code, 197 | kbd, 198 | tt, 199 | samp, 200 | var { 201 | font-size: 100%; 202 | } 203 | 204 | pre { 205 | font-size: 100%; 206 | line-height: 1.5; 207 | margin: 0 0 1.5em 0; 208 | white-space: pre; 209 | white-space: pre-wrap; 210 | word-wrap: break-word; 211 | } 212 | 213 | pre, 214 | code { 215 | color: #880000; 216 | } 217 | 218 | kbd, 219 | samp, 220 | var, 221 | tt { 222 | color: #666666; 223 | font-weight: bold; 224 | } 225 | 226 | var, 227 | dfn { 228 | font-style: italic; 229 | } 230 | 231 | acronym, 232 | abbr { 233 | border-bottom: 1px #aaa dotted; 234 | font-variant: small-caps; 235 | letter-spacing: .07em; 236 | cursor: help; 237 | } 238 | 239 | sub, 240 | sup { 241 | font-size: 75%; 242 | line-height: 0; 243 | position: relative; 244 | vertical-align: baseline; 245 | } 246 | 247 | sup { 248 | top: -0.5em; 249 | } 250 | 251 | sub { 252 | bottom: -0.25em; 253 | } 254 | 255 | mark { 256 | background: yellow; 257 | color: black; 258 | } 259 | 260 | hr { 261 | color: #fff; 262 | background: transparent; 263 | margin: 0 0 0.75em 0; 264 | padding: 0 0 0.67857em 0; 265 | border: 0; 266 | border-bottom: 1px #eeeeee solid; 267 | } 268 | 269 | /*--- Links ----------------------------------------------------------------------------------------- */ 270 | a { 271 | color: #4d87c7; 272 | background: transparent; 273 | text-decoration: none; 274 | } 275 | 276 | a:active { 277 | outline: none; 278 | } 279 | 280 | /* (en) maximum constrast for tab focus - change with great care */ 281 | /* (en) Maximaler Kontrast für Tab Focus - Ändern Sie diese Regel mit Bedacht */ 282 | a:hover, 283 | a:focus { 284 | background-color: #4d87c7; 285 | color: white; 286 | text-decoration: none; 287 | } 288 | 289 | /* --- images ------------------ */ 290 | img, 291 | figure { 292 | margin: 0; 293 | } 294 | 295 | .flexible { 296 | margin-bottom: 1.5em; 297 | max-width: 100%; 298 | height: auto; 299 | } 300 | 301 | /* IE6 workaround - 2% space for possible borders */ 302 | * html .flexible { 303 | width: 98%; 304 | } 305 | 306 | .bordered { 307 | margin-bottom: 1.5em; 308 | border: 2px #eee solid; 309 | border: 2px white solid; 310 | -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.25); 311 | box-shadow: 0 0 3px rgba(0, 0, 0, 0.25); 312 | } 313 | 314 | /** 315 | * ----------------------------------------------------------------------- # 316 | * 317 | * Generic Content Classes 318 | * 319 | * (en) standard classes for positioning and highlighting 320 | * (de) Standardklassen zur Positionierung und Hervorhebung 321 | * 322 | * @section content-generic-classes 323 | */ 324 | .highlight { 325 | color: #cc3300; 326 | } 327 | 328 | .dimmed { 329 | color: #888888; 330 | } 331 | 332 | .box { 333 | border-radius: 0.3em; 334 | border-width: 1px; 335 | border-style: solid; 336 | border-color: #888; 337 | border-color: rgba(0, 0, 0, 0.3); 338 | -webkit-box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.2); 339 | box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.2); 340 | color: #444; 341 | color: rgba(0, 0, 0, 0.8); 342 | padding: 1.42857em; 343 | margin: 0 0 1.5em 0; 344 | } 345 | .box > *:last-child { 346 | margin-bottom: 0; 347 | } 348 | 349 | .label { 350 | font-family: Verdana, Geneva, sans-serif; 351 | padding: 1px 6px 2px; 352 | display: inline-block; 353 | vertical-align: middle; 354 | letter-spacing: normal; 355 | white-space: nowrap; 356 | border-radius: 3px; 357 | background: #06C; 358 | color: #fff; 359 | font-size: 10px; 360 | line-height: 12px; 361 | } 362 | 363 | .info { 364 | background: #f4f4f4; 365 | } 366 | 367 | .success { 368 | background: #88cc88; 369 | } 370 | 371 | .warning { 372 | background: #cccc88; 373 | } 374 | 375 | .error { 376 | background: #cc8888; 377 | } 378 | 379 | .float-left { 380 | float: left; 381 | display: inline; 382 | margin: 0 1em 1.5em 0; 383 | } 384 | 385 | .float-right { 386 | float: right; 387 | display: inline; 388 | margin: 0 0 1.5em 1em; 389 | } 390 | 391 | .center { 392 | display: block; 393 | text-align: center; 394 | margin: 0 auto 1.5em auto; 395 | } 396 | 397 | /** 398 | * ------------------------------------------------------------------------------------------------- # 399 | * 400 | * Tables | Tabellen 401 | * 402 | * (en) Generic classes for table-width and design definition 403 | * (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen 404 | * 405 | * @section content-tables 406 | */ 407 | table { 408 | width: 100%; 409 | border-collapse: collapse; 410 | color: #444444; 411 | border-top: 1px #ccc solid; 412 | border-bottom: 1px #ccc solid; 413 | margin: 0 0 1.35714em 0; 414 | } 415 | table.narrow { 416 | margin: 0 0 1.42857em 0; 417 | } 418 | table.narrow th, 419 | table.narrow td { 420 | padding: 0 0.5em; 421 | line-height: 1.42857; 422 | } 423 | table.fixed { 424 | table-layout: fixed; 425 | } 426 | table.bordertable { 427 | border: 1px #ccc solid; 428 | } 429 | table.bordertable thead th { 430 | background: #e0e0e0; 431 | border-right: 1px #ccc solid; 432 | border-bottom: 1px #ccc solid; 433 | } 434 | table.bordertable tbody th[scope="row"] { 435 | background: #f0f0f0; 436 | } 437 | table.bordertable tbody th { 438 | border-right: 1px solid #ccc; 439 | } 440 | table.bordertable tbody td { 441 | border-right: 1px solid #ccc; 442 | } 443 | 444 | caption { 445 | font-variant: small-caps; 446 | } 447 | 448 | th, 449 | td { 450 | line-height: 1.5em; 451 | vertical-align: top; 452 | padding: 0.71429em 0.5em; 453 | } 454 | 455 | th *:first-child, 456 | td *:first-child { 457 | margin-top: 0; 458 | } 459 | 460 | th.nowrap, 461 | td.nowrap { 462 | white-space: nowrap; 463 | } 464 | 465 | thead th { 466 | text-align: left; 467 | color: #000; 468 | border-bottom: 2px #000 solid; 469 | } 470 | 471 | tbody { 472 | /* highlight row on mouse over */ 473 | } 474 | tbody th { 475 | text-align: left; 476 | border-top: 1px solid #ccc; 477 | } 478 | tbody td { 479 | text-align: left; 480 | border-top: 1px solid #ccc; 481 | } 482 | tbody tr:hover th, 483 | tbody tr:hover td { 484 | background: #f8f8f8; 485 | } 486 | } 487 | -------------------------------------------------------------------------------- /yaml/core/iehacks.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) YAML core stylesheet - structure-independent bugfixes of IE/Win CSS-bugs 5 | * (de) YAML Basis-Stylesheet - Strukturunabhängige Bugfixes von CSS-Bugs des IE/Win 6 | * 7 | * Don't make any changes in this file! 8 | * 9 | * @copyright © 2005-2013, Dirk Jesse 10 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 11 | * YAML-CDL (http://www.yaml.de/license.html) 12 | * @link http://www.yaml.de 13 | * @package yaml 14 | * @version 4.1.2 15 | * @appdef yaml 16 | */ 17 | @media all { 18 | /** 19 | * (en) Debugging:When you see a green background, IE is getting this stylesheet 20 | * (de) Fehlersuche:Hintergrund leuchtet grün, wenn das Stylesheet korrekt geladen wurde 21 | * 22 | * @debug 23 | * @app-yaml-default disabled 24 | */ 25 | /* body { background:#0f0; background-image:none; } */ 26 | /** 27 | * Correct inline positioning for unknown HTML5 elements in IE 6 & 7 28 | * 29 | * @workaround 30 | * @affected IE6, IE7 31 | * @css-for IE6, IE7 32 | * @valid no 33 | */ 34 | /*------------------------------------------------------------------------------------------------------*/ 35 | /** 36 | * (en) No need to force scrollbars in older IE's - it even makes problems in IE6 when set 37 | * (de) Scrollbar-Fix wird in alten IE's nicht benötigt, zudem verursacht der Fix Probleme im IE6 38 | * 39 | * @workaround 40 | * @affected IE6, IE7 41 | * @css-for IE6, IE7 42 | * @valid no 43 | */ 44 | body { 45 | o\verflow: visible; 46 | } 47 | 48 | /** 49 | * (en) HTML5 - default media element styles 50 | * (de) HTML5 - Standard Eigenschaften für Media-Elemente 51 | */ 52 | article, aside, details, figcaption, figure, 53 | footer, header, main, nav, section { 54 | zoom: 1; 55 | } 56 | 57 | audio, 58 | canvas, 59 | video { 60 | *display: inline; 61 | *zoom: 1; 62 | } 63 | 64 | /** 65 | * (en) enable bicubic interpolation of images on scaling 66 | * (de) aktiviert bikubische Interpolation beim Skalieren von Bildern 67 | */ 68 | img { 69 | -ms-interpolation-mode: bicubic; 70 | zoom: 1; 71 | } 72 | 73 | /*------------------------------------------------------------------------------------------------------*/ 74 | /** 75 | * (en) Fixes IE5.x and IE6 overflow behavior of textarea and input elements elements 76 | * (de) Korrigiert das fehlerhafte overflow-Verhalten von textarea und input-Elementen 77 | * 78 | * @workaround 79 | * @affected IE 5.x/Win, IE6 80 | * @css-for IE 5.x/Win, IE6 81 | * @valid no 82 | */ 83 | * html iframe, 84 | * html frame { 85 | overflow: auto; 86 | } 87 | 88 | * html input, 89 | * html frameset { 90 | overflow: hidden; 91 | } 92 | 93 | * html textarea { 94 | overflow: scroll; 95 | overflow-x: hidden; 96 | } 97 | 98 | /*------------------------------------------------------------------------------------------------------*/ 99 | /** 100 | * (en) Stability fixes with 'position:relative' 101 | * (de) Stabilitätsverbesserungen durch 'position:relative' 102 | * 103 | * Essential for correct scaling in IE7 (body). IE5 must get static positioned body instead. 104 | * Helpful to fix several possible problems in older IE versions (#main). 105 | * 106 | * @bugfix 107 | * @affected IE 5.x/Win, IE6, IE7 108 | * @css-for IE 5.x/Win, IE6, IE7 109 | * @valid yes 110 | */ 111 | body, #main { 112 | position: relative; 113 | } 114 | 115 | * html body { 116 | position: static; 117 | } 118 | 119 | /*------------------------------------------------------------------------------------------------------*/ 120 | /** 121 | * (en) Clearfix adjustents for containing floats in IE 122 | * (de) Clearfix-Anpassung für diverse IE-Versionen 123 | * 124 | * @workaround 125 | * @see http://perishablepress.com/press/2009/12/06/new-clearfix-hack/ 126 | * @affected IE 5.x/Win, IE6, IE7 127 | * @css-for IE 5.x/Win, IE6, IE7 128 | * @valid yes 129 | */ 130 | .ym-clearfix { 131 | zoom: 1; 132 | } 133 | 134 | /* hasLayout aktivieren */ 135 | /*------------------------------------------------------------------------------------------------------*/ 136 | /** 137 | * (en) Bugfix for partially displayed column separators 138 | * (de) Bugfix für unvollständige Darstellung der Spalteninhalte / Spaltentrenner 139 | * 140 | * @bugfix 141 | * @affected IE 5.x/Win, IE6 142 | * @css-for IE 5.x/Win, IE6 143 | * @valid yes 144 | */ 145 | * html .ym-col1, 146 | * html .ym-col2, 147 | * html .ym-col3 { 148 | position: relative; 149 | } 150 | 151 | /*------------------------------------------------------------------------------------------------------*/ 152 | /** 153 | * (en) Preventing several css bugs by forcing "hasLayout" 154 | * (de) Vermeidung verschiedenster Bugs durch Erzwingen von "hasLayout" 155 | * 156 | * @workaround 157 | * @affected IE 5.x/Win, IE6, IE7 158 | * @css-for IE 5.x/Win, IE6, IE7 159 | * @valid no 160 | */ 161 | body { 162 | height: 1%; 163 | } 164 | 165 | .ym-wrapper, .ym-wbox, #header, #nav, #main, #footer { 166 | zoom: 1; 167 | } 168 | 169 | /* IE6 & IE7 */ 170 | * html .ym-wrapper, * html .ym-wbox { 171 | height: 1%; 172 | hei\ght: auto; 173 | } 174 | 175 | /* IE 5.x & IE6 | IE6 only */ 176 | * html #header, * html #nav, * html #main, * html #footer { 177 | width: 100%; 178 | wid\th: auto; 179 | } 180 | 181 | /* IE 5.x & IE6 | IE6 only */ 182 | /* trigger hasLayout to force containing content */ 183 | .ym-gbox, .ym-gbox-left, .ym-gbox-right { 184 | height: 1%; 185 | } 186 | 187 | /*------------------------------------------------------------------------------------------------------*/ 188 | /** 189 | * Disappearing List-Background Bug 190 | * @see http://www.positioniseverything.net/explorer/ie-listbug.html 191 | * 192 | * @bugfix 193 | * @affected IE 5.x/Win, IE6 194 | * @css-for IE 5.x/Win, IE6 195 | * @valid yes 196 | */ 197 | * html ul, * html ol, * html dl { 198 | position: relative; 199 | } 200 | 201 | /*------------------------------------------------------------------------------------------------------*/ 202 | /** 203 | * List-Numbering Bug 204 | * 205 | * @bugfix 206 | * @affected IE 5.x/Win, IE6, IE7 207 | * @css-for IE 5.x/Win, IE6, IE7 208 | * @valid yes 209 | */ 210 | body ol li { 211 | display: list-item; 212 | } 213 | 214 | /*------------------------------------------------------------------------------------------------------*/ 215 | /** 216 | * Browser-based image scaling (not) 217 | * 218 | * @workaround 219 | * @affected IE 5.x/Win, IE6 220 | * @css-for IE 5.x/Win, IE6 221 | * @valid yes 222 | */ 223 | * html .flexible { 224 | zoom: 1; 225 | } 226 | 227 | /** 228 | * Form related bugfixes 229 | * 230 | * @bugfix 231 | * @affected IE 5.x/Win, IE6, IE7 232 | * @css-for IE 5.x/Win, IE6, IE7 233 | * @valid no 234 | */ 235 | button, input { 236 | *overflow: visible !important; 237 | } 238 | 239 | table button, table input { 240 | *overflow: auto; 241 | } 242 | 243 | fieldset, legend { 244 | position: relative; 245 | } 246 | 247 | /*------------------------------------------------------------------------------------------------------*/ 248 | /** 249 | * Global adjustments/fixes for YAML's form module 250 | * 251 | * @workaround 252 | * @affected IE 5.x/Win, IE6, IE7 253 | * @css-for IE 5.x/Win, IE6, IE7 254 | * @valid no 255 | */ 256 | .ym-form, 257 | .ym-form div, 258 | .ym-form div * { 259 | zoom: 1; 260 | } 261 | 262 | .ym-form input, 263 | .ym-form textarea { 264 | width: 68%; 265 | padding-left: 1% !important; 266 | padding-right: 1% !important; 267 | } 268 | .ym-form select { 269 | width: 70%; 270 | padding-left: 1% !important; 271 | padding-right: 1% !important; 272 | } 273 | .ym-form .ym-fbox-wrap { 274 | display: block; 275 | overflow: hidden; 276 | margin-right: -5px; 277 | } 278 | 279 | .ym-fbox-wrap input, 280 | .ym-fbox-wrap textarea, 281 | .ym-full input, 282 | .ym-full textarea { 283 | width: 98%; 284 | margin-right: -3px; 285 | } 286 | .ym-fbox-wrap select, 287 | .ym-full select { 288 | width: 100%; 289 | margin-right: -3px; 290 | } 291 | 292 | /* ie6 support helper class */ 293 | * html .ym-form .ym-fbox-check input { 294 | display: inline !important; 295 | width: auto !important; 296 | background: transparent !important; 297 | border: 0 none !important; 298 | padding: 0 !important; 299 | } 300 | * html .ym-form .ym-fbox-wrap .ym-fbox-check input { 301 | margin-left: 0; 302 | } 303 | 304 | /*------------------------------------------------------------------------------------------------------*/ 305 | /** 306 | * (en) Workaround for 'collapsing margin at #col3' when using CSS-property clear 307 | * Left margin of #col3 collapses when using clear:both in 1-3-2 (or 2-3-1) layout and right column is the 308 | * longest and left column is the shortest one. For IE6 and IE7 a special workaround was developed 309 | * in YAML. 310 | * 311 | * (de) Workaround für 'kollabierenden Margin an #col3' bei Verwendung der CSS-Eigenschaft clear 312 | * Der linke Margin von #col3 kollabiert bei der Verwendung von clear:both im 1-3-2 (oder 2-3-1) Layout 313 | * wenn gleichzeitig die linke Spalte die kürzeste und die rechte die längste ist. Im IE6 und IE7 lässt 314 | * sich der Bug durch eine speziell für YAML entwickelten Workaround umgehen. 315 | * 316 | * @workaround 317 | * @affected IE 5.x/Win, IE6, IE7 318 | * @css-for IE 5.x/Win, IE6, IE7 319 | * @valid no 320 | */ 321 | html .ym-ie-clearing { 322 | /* (en) Only a small help for debugging */ 323 | /* (de) Nur eine kleine Hilfe zur Fehlersuche */ 324 | position: static; 325 | /* (en) Make container visible in IE */ 326 | /* (de) Container sichtbar machen im IE */ 327 | display: block; 328 | /* (en) No fix possible in IE5.x, normal clearing used instead */ 329 | /* (de) Kein Fix im IE5.x möglich, daher normales Clearing */ 330 | \clear: both; 331 | /* (en) forcing clearing-like behavior with a simple oversized container in IE6 & IE7*/ 332 | /* (de) IE-Clearing mit 100%-DIV für IE6 bzw. übergroßem Container im IE7 */ 333 | width: 100%; 334 | line-height: 0; 335 | font-size: 0px; 336 | margin: -2px 0 -1em 1px; 337 | } 338 | 339 | * html .ym-ie-clearing { 340 | margin: -2px 0 -1em 0; 341 | } 342 | 343 | .ym-cbox { 344 | margin-bottom: -2px; 345 | } 346 | 347 | /* (en) avoid horizontal scrollbars in IE7 in borderless layouts because of negative margins */ 348 | /* (de) Vermeidung horizontaler Scrollbalken bei randabfallenden Layouts im IE7 */ 349 | html { 350 | margin-right: 1px; 351 | } 352 | 353 | * html { 354 | margin-right: 0; 355 | } 356 | 357 | /* (en) Bugfix:Essential for IE7 */ 358 | /* (de) Bugfix:Notwendig im IE7 */ 359 | .ym-col3 { 360 | position: relative; 361 | } 362 | 363 | /*------------------------------------------------------------------------------------------------------*/ 364 | /** 365 | * IE/Win Guillotine Bug 366 | * @see http://www.positioniseverything.net/explorer/guillotine.html 367 | * 368 | * @workaround 369 | * @affected IE 5.x/Win, IE6 370 | * @css-for IE 5.x/Win, IE6 371 | * @valid yes 372 | */ 373 | } 374 | @media screen, projection { 375 | /** 376 | * (en) IE-Adjustments for content columns and subtemplates 377 | * (de) IE-Anpassung für Spaltencontainer und Subtemplates 378 | * 379 | * Doubled Float-Margin Bug 380 | * @see http://positioniseverything.net/explorer/doubled-margin.html 381 | * 382 | * @bugfix 383 | * @affected IE 5.x/Win, IE6 384 | * @css-for IE 5.x/Win, IE6, IE7 385 | * @valid yes 386 | */ 387 | .ym-col1, .ym-col2 { 388 | display: inline; 389 | } 390 | 391 | /* Fix for:"Linking to anchors in elements within the containing block" Problem in IE5.x & IE 6.0 */ 392 | .ym-grid { 393 | overflow: hidden; 394 | display: block; 395 | } 396 | 397 | * html .ym-grid { 398 | overflow: visible; 399 | } 400 | 401 | .ym-gl, 402 | .ym-gr { 403 | display: inline; 404 | } 405 | 406 | /* transform CSS tables back into floats */ 407 | .ym-equalize .ym-gl { 408 | float: left; 409 | display: inline; 410 | padding-bottom: 32767px; 411 | margin-bottom: -32767px; 412 | } 413 | 414 | .ym-equalize .ym-gr { 415 | float: right; 416 | margin-left: -5px; 417 | display: inline; 418 | padding-bottom: 32767px; 419 | margin-bottom: -32767px; 420 | } 421 | 422 | .no-ie-padding .ym-gl, 423 | .no-ie-padding .ym-gr { 424 | padding-bottom: 0; 425 | margin-bottom: 0; 426 | } 427 | 428 | /*------------------------------------------------------------------------------------------------------*/ 429 | /** 430 | * Internet Explorer and the Expanding Box Problem 431 | * @see http://www.positioniseverything.net/explorer/expandingboxbug.html 432 | * 433 | * @workaround 434 | * @affected IE 5.x/Win, IE6 435 | * @css-for IE 5.x/Win, IE6 436 | * @valid yes 437 | */ 438 | * html .ym-cbox-left, 439 | * html .ym-cbox-right, 440 | * html .ym-cbox { 441 | word-wrap: break-word; 442 | } 443 | 444 | /* avoid growing widths */ 445 | * html .ym-gbox, 446 | * html .ym-gbox-left, 447 | * html .ym-gbox-right { 448 | word-wrap: break-word; 449 | o\verflow: hidden; 450 | } 451 | } 452 | @media print { 453 | /** 454 | * (en) Avoid unneeded page breaks of .ym-col3 content in print layout and containing floats. 455 | * (de) Vermeiden von unnötigen Seitenumbrüchen beim Ausdruck der Spalte .ym-col3 und Einschluss von Floats. 456 | * 457 | * @bugfix 458 | * @affected IE7 459 | * @css-for IE 5.x/Win, IE6, IE7 460 | * @valid yes 461 | */ 462 | .ym-gbox, 463 | .ym-gbox-left, 464 | .ym-gbox-right, 465 | .ym-col3 { 466 | height: 1%; 467 | } 468 | } 469 | -------------------------------------------------------------------------------- /js/model.js: -------------------------------------------------------------------------------- 1 | /* 2 | * model.js 3 | * Models, Collections and Views for the searchpage_template_yaml4 web-page templates 4 | * First published 7.3.2013 at https://gitorious.org/yacy/searchpage_template_yaml4 5 | * (C) by Michael Peter Christen, licensed under a 6 | * Creative Commons Attribution 2.0 Generic License (CC-BY 2.0) 7 | * 8 | * This code makes heavy use of the backbone.js library. Please see http://backbonejs.org 9 | * If you enhance this code, please clone the repository and give us a pull request! 10 | */ 11 | 12 | var search_api = "https://searchlab.eu/en/api/yacysearch.json?callback=?"; 13 | //var suggest_api='https://searchlab.eu/en/api/suggest.json?callback=?'; 14 | 15 | var SearchModel = Backbone.Model.extend({ 16 | urlRoot:search_api, 17 | //urlRoot:'http://localhost:8090/solr/select?wt=yjson&facet=true&facet.mincount=1&facet.field=url_file_ext_s&facet.field=host_s&callback=?', 18 | defaults:{hl:'false',query:'',start:'0',rows:'100',layout:'paragraph',startTime:new Date(),servlet:"index.html"}, 19 | 20 | url:function(){ 21 | return this.urlRoot + '&hl=' + this.attributes.hl + '&query=' + this.attributes.query + '&startRecord=' + this.attributes.start + '&maximumRecords=' + this.attributes.rows; 22 | //return this.urlRoot + '&hl=' + this.attributes.hl + '&query=' + this.attributes.query + '&start=' + this.attributes.start + '&rows=' + this.attributes.rows; 23 | }, 24 | 25 | parse:function(resp){ 26 | return resp[0].channels[0]; 27 | }, 28 | 29 | rowCollection:function(){ 30 | var rc = new RowCollection(); 31 | rc.add(this.attributes.items); 32 | return rc; 33 | }, 34 | 35 | totalResults:function(){ 36 | var tr = this.attributes.totalResults.replace(/[,.]/,""); 37 | if (this.rowCollection().length > tr) tr = this.rowCollection().length; 38 | return tr; 39 | }, 40 | 41 | navigationCollection:function(){ 42 | var navigationCollection = new NavigationCollection(); 43 | navigationCollection.add(this.attributes.navigation); 44 | return navigationCollection; 45 | }, 46 | 47 | fullPageNavigation:function(title) { 48 | var tr = this.totalResults(); 49 | if (tr == 0) return "no results"; 50 | var html = ""; 51 | html += "

" + tr + " results, " + ((new Date()).getTime() - this.attributes.startTime.getTime()) + " ms

"; 52 | html += "
"; 61 | return html; 62 | }, 63 | 64 | renderNavigation:function(title, layout) { 65 | var html = ""; 66 | html += "
"; 72 | return html; 73 | } 74 | }); 75 | 76 | var RowModel = Backbone.Model.extend({ 77 | // default keys are: title, link, code, description, pubDate, size, sizename, guid, faviconCode, host, path, file, urlhash, ranking 78 | scriptline:function(type) { 79 | if (this.attributes.link == null) return ""; 80 | if (this.attributes.link.indexOf("smb://") >= 0) 81 | return "smbget -n -a -r \"" + this.attributes.link + "\""; 82 | else 83 | return "curl -OL \"" + this.attributes.link + "\""; 84 | }, 85 | 86 | renderRow:function(style) { 87 | if (this.attributes.link == null) return ""; 88 | var link = this.attributes.link; 89 | var protocol = ""; 90 | var host = ""; 91 | // extract the path 92 | var path = link; 93 | var file = ""; 94 | var p = link.indexOf("//"); 95 | if (p > 0) { 96 | protocol = link.substring(0, p - 1); 97 | q = link.indexOf("/", p + 2); 98 | if (q > 0) { 99 | host = link.substring(p + 2, q); 100 | path = link.substring(q); 101 | } else { 102 | host = link.substring(p + 2); 103 | path = "/"; 104 | } 105 | } 106 | var q = path.lastIndexOf("/"); 107 | if (q > 0) { 108 | file = path.substring(q + 1); 109 | path = path.substring(0, q + 1); 110 | } else { 111 | file = path; 112 | path = "/"; 113 | } 114 | var title = this.get("title"); 115 | path = unescape(path); 116 | var origpath = path; // save this for later in the link, this may be shortened now 117 | if (path.length >= 40) path = path.substring(0, 18) + "..." + path.substring(path.length - 19); 118 | if (title == "") title = path; 119 | if (title.length >= 60) title = title.substring(0, 28) + "..." + title.substring(title.length - 29); 120 | var pd = this.get("pubDate"); 121 | if (pd == undefined) pd = ""; 122 | var comma = pd.indexOf(","); 123 | if (comma > 0) pd = pd.substring(comma + 2); 124 | if (pd.substring(pd.length - 6) == " +0000") pd = pd.substring(0, pd.length - 6); 125 | var pdnt = pd; 126 | if ((p = pdnt.lastIndexOf(' ')) >= 0) pdnt = pdnt.substring(0, p); 127 | pd = pd.replace(" "," ").replace(" "," ").replace(" "," "); 128 | 129 | // make table row 130 | var html = ""; 131 | if (style == "paragraph") { 132 | html += "

"; 133 | html += "

" + title + "

"; 134 | html += "" + link + "
"; 135 | html += "" + this.attributes.description + " - " + pdnt + ""; 136 | html += "

"; 137 | } 138 | if (style == "tableRow") { 139 | html += ""; 140 | html += "" + protocol + "://" + host + ""; // Host 141 | html += "" + path + ""; // Path 142 | if (file.length == 0 || file == "/") file = "[index-file]"; 143 | html += "" + file + ""; // URL 144 | if (this.get("sizename") == "-1 byte") html += ""; else html += "" + this.get("sizename").replace(" "," ").replace("byte","b") + ""; // Size 145 | html += "" + pd + ""; // Date 146 | html += ""; 147 | } 148 | if (style == "imageCell") { 149 | if (file.length == 0 || file == "/") file = "[image]"; 150 | html += ""; 151 | html += ""; 152 | html += ""; 153 | } 154 | 155 | // return entry 156 | return html; 157 | } 158 | }); 159 | 160 | var RowCollection = Backbone.Collection.extend({ 161 | model: RowModel, 162 | 163 | resultScript:function() { 164 | var script = ""; 165 | for (var i = 0; i < this.length; i++) { script += this.at(i).scriptline() + "\n"; } 166 | return script; 167 | }, 168 | 169 | resultList:function() { 170 | var html = ""; 171 | if (this.length > 0) { 172 | for (var i = 0; i < this.length; i++) { html += this.at(i).renderRow("paragraph"); } 173 | } 174 | return html; 175 | }, 176 | 177 | resultTable:function() { 178 | var html = ""; 179 | if (this.length > 0) { 180 | html += ""; 181 | html += ""; 182 | for (var i = 0; i < this.length; i++) { html += this.at(i).renderRow("tableRow"); } 183 | html += "
HostPathFileSizeDate
"; 184 | } 185 | return html; 186 | }, 187 | 188 | resultImages:function() { 189 | var html = ""; 190 | for (var i = 0; i < this.length; i++) { html += this.at(i).renderRow("imageCell"); } 191 | return html; 192 | } 193 | }); 194 | 195 | var FacetModel = Backbone.Model.extend({ 196 | 197 | facetElements:function() { 198 | var elts = {}; 199 | for (var fc = 0; fc < this.attributes.elements.length; fc++) { 200 | elts[this.attributes.elements[fc].name] = this.attributes.elements[fc].count; 201 | } 202 | return elts; 203 | }, 204 | 205 | facetBox:function(servlet, modifierKey, modifierValue, maxfacets, search) { 206 | var html = ""; 207 | 208 | var elements = this.facetElements(); 209 | var extnav = ""; 210 | var ftc = 0; 211 | for (var key in elements) { 212 | if (elements[key] > 0) { 213 | if (maxfacets-- > 0) { 214 | extnav += "
" + key + " (" + elements[key] + ")
"; 216 | } 217 | ftc++; 218 | } 219 | } 220 | 221 | extnav = "
"; 223 | 224 | if (ftc > 1) { 225 | html += extnav; 226 | } else { 227 | // check if there is an active constraint and offer a removal 228 | if (modifierValue != "") { 229 | var newQuery = search.attributes.query.substring(0, search.attributes.query.length - modifierKey.length - modifierValue.length - 2); 230 | html += "
"; 235 | } 236 | } 237 | 238 | return html; 239 | } 240 | }); 241 | 242 | var NavigationCollection = Backbone.Collection.extend({ 243 | model:FacetModel, 244 | 245 | facet:function(name){ 246 | for (i = 0; i < this.length; i++) { 247 | var facet = this.at(i); 248 | var facetname = facet.attributes.facetname; 249 | if (facetname == name) return facet; 250 | } 251 | return null; 252 | } 253 | }); 254 | 255 | var ModifierModel = Backbone.Model.extend({ 256 | defaults:{key:'',value:'',query:''}, 257 | initialize: function() { 258 | this.attributes.value = ""; 259 | var matcher = " " + this.attributes.key + ":"; 260 | for (var extl = 2; extl < 30; extl++) { 261 | if (this.attributes.query.length >= matcher.length + 3 && this.attributes.query.substring(this.attributes.query.length - matcher.length - extl, this.attributes.query.length - extl) == matcher) { 262 | this.attributes.value = this.attributes.query.substring(this.attributes.query.length - extl); 263 | if ((p = this.attributes.value.indexOf(' ')) >= 0) this.attributes.value = this.attributes.value.substring(0, p); 264 | break; 265 | } 266 | } 267 | } 268 | }); 269 | 270 | function execGet() { 271 | var query = new RegExp("[\\?&]query=([^&#]*)").exec(window.location.href); 272 | if (query != null) { 273 | var startRecord = new RegExp("[\\?&]startRecord=([^&#]*)").exec(window.location.href); 274 | if (startRecord == null) startRecord = 0; else startRecord = startRecord[1]; 275 | var maximumRecords = new RegExp("[\\?&]maximumRecords=([^&#]*)").exec(window.location.href); 276 | if (maximumRecords == null) maximumRecords = 10; else maximumRecords = maximumRecords[1]; 277 | var layout = new RegExp("[\\?&]layout=([^&#]*)").exec(window.location.href); 278 | if (layout == null) layout = "paragraph"; else layout = layout[1]; 279 | document.getElementById("query").value=query[1].replace(/%20/g," ").replace(/\+/g," ").replace(/%3A/g,":").replace(/%2F/g,"/").replace(/%22/g,"\""); 280 | document.getElementById("maximumRecords").value=maximumRecords; 281 | document.getElementById("startRecord").value=startRecord; 282 | document.getElementById("layout").value=layout; 283 | search(document.getElementById("query").value, startRecord, maximumRecords,layout); 284 | } 285 | } 286 | -------------------------------------------------------------------------------- /yaml/add-ons/microformats/microformats.css: -------------------------------------------------------------------------------- 1 | /** 2 | * "Yet Another Multicolumn Layout" - YAML CSS Framework 3 | * 4 | * (en) YAML-Addon:Microformats Support 5 | * (de) YAML-Addon:Unterstützung für Microformate 6 | * 7 | * @note Many thanks to Michael Jendryschik (http://jendryschik.de/) for contribution 8 | * 9 | * @copyright © 2005-2013, Dirk Jesse 10 | * @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/), 11 | * YAML-CDL (http://www.yaml.de/license.html) 12 | * @link http://www.yaml.de 13 | * @package yaml 14 | * @version 4.1.2 15 | */ 16 | @media all { 17 | /* hCards + hCalendars */ 18 | .vcard, 19 | .vevent { 20 | line-height: 1.5em; 21 | border: 2px solid #e0e7b8 !important; 22 | padding: 30px 5px 5px 5px !important; 23 | border-radius: 8px; 24 | -moz-border-radius: 8px; 25 | -webkit-border-radius: 8px; 26 | margin: 0 0 1.5em 0 !important; 27 | /* small IE-Fix for background images */ 28 | zoom: 1; 29 | } 30 | 31 | span.vcard, 32 | span.vevent { 33 | padding: 2px 1px 2px 70px !important; 34 | margin: 0 2px 0 !important; 35 | } 36 | 37 | .vcard { 38 | background-color: #f8f8ec; 39 | background-repeat: no-repeat; 40 | background-position: 5px 5px; 41 | background-image: url(icons/hcard.png) !important; 42 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAAAQCAMAAACSjoczAAAAsVBMVEVcjAFmmQb4+Ozd5sGnw2q5z4fv8t56piLU4bJwoBSwyXmMsj+VuE3C1ZWDrDDm7M/L26SOuziu4xpqnQeLtzao3RWVzQGNxQSm2xJ0qwyr4BeevlxjlQS47CJ1rQ2JtjWRyQKTvz1wpQrB8zFuowmf1Q14rwyFvAeLwwW88CWz5x206B+JwAZ9tAqbzRRrlhmazwij2BCBuAmZxjqi1Bh8rCP///9fjwKWzAWs3SGdzxWFTyrgAAABPElEQVR4XpXQ1W7EMBCG0cyYHaZlZipz3//B6tlkt03Vi+ZTbqzoyL/s4bXlfn88vmKbat3pODw+ZoOPtpow6fEhG/R6LXWapjibzXB5yMpy/dxOF5MJ6S4us/Jhff95AbFm/9MFdrtOE36/rQDzASBsgjhpUqad7vcrjSVVAWkihlI2te83NdiznuJut+vgjyzEBCRXRiCCUCZECwB6aAyn/wYsrfOKxWKKp9N2+3jj2tTXREhxkwhIEFQSgIyjSEuhBWi0IDRjMNSkX7DGm01T0z1RQBO1M7Sccd+dFL8uX61WiE/UfD7HKgHsT63Bug/NT52n+CtpjNBJXC+vdaC0O1mHOISaoQmYV+R5fnfpyuOhAaUlN0rgRTMF0gceWXpNEBganzQAjEZvLtKt8oqzddrzvPYai++wbV80NCCamQ5vZwAAAABJRU5ErkJggg==") !important; 43 | } 44 | .vcard a { 45 | padding-left: 11px; 46 | background: url(icons/external_link.png) top left no-repeat; 47 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAANAQMAAACn5x0BAAAABlBMVEX///9jlQQUCBxBAAAAAXRSTlMAQObYZgAAACBJREFUCB0FwaEJAAAIALA1/xYEs6/axQ0QLEUzJMkB8FxYBJy/sjNiAAAAAElFTkSuQmCC") top left no-repeat; 48 | color: #679A06; 49 | } 50 | .vcard .adr { 51 | display: block; 52 | margin: 0.5em 0; 53 | } 54 | .vcard .email { 55 | font-family: Consolas, "Lucida Console", "Andale Mono", "Bitstream Vera Sans Mono", "Courier New", Courier; 56 | } 57 | 58 | .vevent { 59 | background: #f8f8ec url(icons/hcalendar.png) 5px 5px no-repeat !important; 60 | background: #f8f8ec url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAQCAMAAABjhdy+AAAAtFBMVEVcjAH4+OxmmQa5z4ewyXnU4bJwoBSMsj/d5sGVzQFqnQeLtzbm7M/v8t6Ouziu4xp6piKo3RWNxQSLwwXC1ZXL26S06B9jlQR0qwyJtjWr4BeDrDCJwAanw2q47CKVuE11rQ3B8zGevlyRyQKj2BBwpQp4rwyFvAeazwi88CVuowmz5x2m2xKf1Q1rlhmi1Bh9tAqBuAn///+Zxjqe1AyWzAVfjwJ8rCOTvz2s3SGdzxWbzRS/OR+KAAABFklEQVR4Xo3P1W4EMQyG0fwODcMyM0OZ+/7vVc80u6tWq3Y+KXc+siNwbrrdtloP+DdHfJ/FqJX23qsSvyCjfdo7HKqQJEkwn88x3ad5frytQMLJpCA1TNN8cdx8lCDSXPwHCVGrMckXT5vnz5Io4vQ10IyYdDrfBHkRHMH1NOmSdFGv1324ziSmIcBPGiOhqWEyD0RkRbhcdjEYrNf3d9zqRKy1GGdoUtQ0niatyeqsD0nSK8grnFitzkQpxfPerI+xsZYUKyhyh+12O+CRe+Pw4y9GmQbvYq5/kSDBJUe01hGGhmI0SGoJRzxSkQiDILg5dSGc4oEZAJlRP3YEQ1IFIaJ2+4VjUiERloCJEKIiQXgJlfoCe5IaqIOvDWoAAAAASUVORK5CYII=") 5px 5px no-repeat !important; 61 | } 62 | 63 | .vevent a { 64 | padding-left: 11px; 65 | background: url(icons/external_link.png) top left no-repeat; 66 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAANAQMAAACn5x0BAAAABlBMVEX///9jlQQUCBxBAAAAAXRSTlMAQObYZgAAACBJREFUCB0FwaEJAAAIALA1/xYEs6/axQ0QLEUzJMkB8FxYBJy/sjNiAAAAAElFTkSuQmCC") top left no-repeat; 67 | color: #679A06; 68 | } 69 | .vevent p { 70 | margin: 0; 71 | } 72 | .vevent .description { 73 | display: block; 74 | margin-top: 1em; 75 | } 76 | .vevent .location { 77 | display: block; 78 | color: #679A06; 79 | } 80 | .vevent .summary { 81 | display: block; 82 | color: #679A06; 83 | font-weight: bold; 84 | } 85 | 86 | /* XFN relationship */ 87 | a.xfnRelationship { 88 | padding-right: 26px; 89 | background-image: url(xfn/xfn-small.png); 90 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAOCAMAAADzLXfBAAAAq1BMVEXGxsb///+Zzg6NxAqVzA32+u6JxAqKwxfK6zya0xCh1xKFwQrt9tyk2ROX0Q+Fvgi75SvU6aya0h6z4SOl2hSQxgqDvwmq0xWd0hCYyQ6MwwmRzQ1/uwi32XvJ4puizxKu1RiRxwyg1xONyQuUyCrD4oye1RGLwgfF6TeIwQiEvQe/5jHc7b3O7EGSyguu1mq22hrE5H6122vD5zSIvxu833zi7syUyxuo3RZV5oaGAAAAAXRSTlMAQObYZgAAAN1JREFUeF51kNVuxWAMg+sfi8wMh/mM9/5PtrS7mzTLiZUvuYphuDr/K+0u+DtJwsvb0TRvN9M0j5cwTGihbS/1PC9Nqa+xlmPktj371mxZlu/7e3Jp7e2Fz3aMKJZRA6CBjF/gzzPxsmRfEjux6VWzgcQHNmVJnDF2f0jN1PXxqrCTHThj+cqnDluhADjougiKMboX4q4lIu70rSLeSjhC0P2UbdG/y2vbn6YAnfpEME3EeXY4B+RTUHMKHpwPPMsNzVfV5KV+h9qhP2RVNRTFOD4XjWMxDJV2//vbD/KGFzMfCBH8AAAAAElFTkSuQmCC"); 91 | background-repeat: no-repeat; 92 | background-position: right; 93 | } 94 | a.xfnRelationship[rel~="colleague"], a.xfnRelationship[rel~="co-worker"] { 95 | padding-right: 21px; 96 | background-image: url(icons/xfn/xfn-colleague.png); 97 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAMAAAAVBLyFAAAAYFBMVEXGxsa+z+woYcAmYL++z+u9zuvZ4/TO2/H///++zuvd5/WgueLy9fvR3fJVg87u8/mRr9/G1e7q8Pk0asP7/P5diM9CdMfC0u1chs+0yOmdt+Ln7fh5nNlQfsxPfstdiNANDsYBAAAAAXRSTlMAQObYZgAAAI5JREFUeF5tUNcKw0AMszxuZe90//9f9o7QkkL1IiHkSeQMagoDEA3mspPCD5IjFL4IszU6Fg3SQi9m3jvzRSvFQguzLB38kcKRkm/KjsK7iPRJ06lXvco6bsN8siruefDoPlZdrdKGVvbKN7c5GFmYmPk5PFhkmnULmlNccGUWlhAt4N9B5FAQAVWDwtEbDGwHzDGQ3uIAAAAASUVORK5CYII="); 98 | } 99 | a.xfnRelationship[rel~="met"] { 100 | padding-right: 32px; 101 | background-image: url(icons/icon-xfn.png); 102 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAASCAMAAACQGyXoAAAAwFBMVEXGxsb///+Fvgj2+u6JxAqh1xKKwxeRxwyNxAq32XvJ4puNyQuIwQiVzA2Dvwnt9tzD4oyZzg6SyguMwwmRzQ2a0xCFwQqizxKX0Q+u1RjU6ayg1xOq0xWe1RG122uu1mqQxgqd0hCl0U2YyQ6a0h6LwgfO7EF/uwiUyCqz4SPK6zyl2hSq01a75Svc7b2k2ROEvQe/5jGYzDnD5zSc0CzE5H6833zF6TeIvxun3BOUyxvi7syo1z222hq924uo3RbH6VQeAAAAAXRSTlMAQObYZgAAAT1JREFUeF59keVunDEQRX2NHzLDMjMHiu//Vp1ttpUiJTnSjD33eH6ZsXCrg4/Q45Ckjn+vVrvd6fK8Xq/n8zn158tpt1vlOmTb6vUz4jHT6nDYHIjNho7H5dEKFqiDaqu8bfM8r4hej0qN8p5Sd9sqNUVTTUWTgbhlENP8hqptW7I9eh3hHOHqYt/v/3CBKHtCRjlnwWg0ir+JPSLfhSOz2IXA8gku5bQbE8kAQscS+0H/KhEJx4ZFcfBmjQ0sfQliW8C20UCSpV3f9xMtGjRWAWchXbKLUKCgnHaTJJEOXn7hvIAjkySAXQyAe07WmOESDn8Re7KeMRy25N/BjTFkreFwduQplcd5at0HK+XHGeUB09aD9F5/2785LdjWm/0nnb3DG7NQe8PJpCy7rq5/vlHXXVeWE0+HX//+Hw2+L1y/3yDiAAAAAElFTkSuQmCC"); 103 | } 104 | a.xfnRelationship[rel~="colleague"][rel~="met"], a.xfnRelationship[rel~="co-worker"][rel~="met"] { 105 | padding-right: 26px; 106 | background-image: url(icons/xfn/xfn-colleague-met.png); 107 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAOCAMAAADzLXfBAAAAYFBMVEXGxsa+z+woYcAmX7+9zuv///++zuve5/XF1O6huuP7/P7Z4/RCdMfq8PjS3vLN2/E0asOxxudQfszZ5PVWg86Qr95bhs/v8/rn7fjy9ftdiNDe6PV5nNitxOe6zeqdtuISlCqmAAAAAXRSTlMAQObYZgAAAJ9JREFUeF5tkIcOwzAIRH0HHtm7e/z/XxYnalOpRboDPSMb41ylsAhqCoDCDNG56ep/I0aHnO8kHy2azwGc5nQR4eEYui8eVk4ax86Dw9b/zQfx2PiN5BIRDbZ+oH/zcy11k1JpnBl73d4tuDB1esy1mNb+c1Fz9rMciq49lfucPSljGs37EmmfxwD5pIjQA+/+avq/B1cBCFCFafV1by9mVwgBHNGRhAAAAABJRU5ErkJggg=="); 108 | } 109 | a.xfnRelationship[rel~="friend"] { 110 | padding-right: 21px; 111 | background-image: url(icons/xfn/xfn-friend.png); 112 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAMAAAAVBLyFAAAAYFBMVEXGxsYoYcC+z+wmX7++z+u9zuv////Z4/Spv+a+zuupwOZCdMfE0+7e5/X6+/3y9fszaMKfuOKtw+bo7/leidDU3/Jbhs94nNi5y+qOrNy/0OzZ5PWuxOe0yOnj6/fd5vUgjr18AAAAAXRSTlMAQObYZgAAAItJREFUeF5lzwcKwzAMBVBN7+zuef9bVmoaaKnA/vD4FhggUhYVUb8sriZd+JkugnjemPHUysNNIHvskPmwlIsTgayERulN+UOMuJGCehytdd6n/RcNFesy33snWR9OyNikLBsNU0X2/RO1rg8EGkYHZJuxL7O1KKDDekJK1orPvw9BVNFMpKpkIRFeAVEHR3zEFfkAAAAASUVORK5CYII="); 113 | } 114 | a.xfnRelationship[rel~="friend"][rel~="met"] { 115 | padding-right: 26px; 116 | background-image: url(icons/xfn/xfn-friend-met.png); 117 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAOCAMAAADzLXfBAAAAYFBMVEXGxsa+z+soYcC+z+y+zusnX7+9zuupv+b////e5/Vch8/o7vn6+/2huuPE1O7U3/KpwOZCdMe/0Os0acKuxOfy9fuxxuff5/aVsd+0yOm6zOqtw+ayx+jZ4/R5nNi/z+u6Bqx7AAAAAXRSTlMAQObYZgAAAKRJREFUeF5t0AdOBTEMBNCMW9rW3xtw/1vikGVBAkdRrBfJGjmENwPMwH4BhnfMV+ec/la+BjQ4KdFjWur+wYGbFyUtdfn45bI5lRqxu21OX37oeCF3a/5OSrc5zo5zetE+57zSWp/3wV0v5IDuo5JOh1hbr30+p/O4kruWUaY8/OQ8kiN56XFYTt0RkJq040+K8Tvn/3vIviCBgMUMBhFhCFsOn7mzCfRhKm+OAAAAAElFTkSuQmCC"); 118 | } 119 | a.xfnRelationship[rel~="sweetheart"] { 120 | padding-right: 21px; 121 | background-image: url(icons/xfn/xfn-sweetheart.png); 122 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAMAAAAVBLyFAAAAYFBMVEXGxsYoYcD4Qq6+z+vZ4/Q/ccb4UbX///++zuu9zuv/8/rd5vUlXb5bhs/6e8b5cMLy9fv90OuhuuN4m9i2yOlSfcn8t+H8oNaJqNqzmNPD0e3w3/KtxOb0hMv7n9X9xObCRbgHAAAAAXRSTlMAQObYZgAAAHlJREFUeF51j1cKA0EMQ12mby3p9f63jDxLSEJY2UbwkD9E5FQzNuEyzIE08UeNIzW/MfOul6cxXVEH1E0ybKBEaSO1AJ2O8vhCo2d/DaGsKJvNSF0Gmd6pcfYMtfvzvT+UmJEyUFnLRUJ95I+iCFL/hWptK55wNo5etO8G3lYCx4oAAAAASUVORK5CYII="); 123 | } 124 | a.xfnRelationship[rel~="sweetheart"][rel~="met"] { 125 | padding-right: 26px; 126 | background-image: url(icons/xfn/xfn-sweetheart-met.png); 127 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAOCAMAAADzLXfBAAAAYFBMVEXGxsYoYMDg5vX4Qq6+z+z///+9zutCdMfY4vT/8vpahc7y9fuhuuP4TrMlXb76ccL90Ov6esWxxuf9xOb5Wbc0asT8uOKyx+i2yel4nNj8odeJqNqzmNOtw+b7n9X3gMlS9TiMAAAAAXRSTlMAQObYZgAAAINJREFUeF6N0McKAzEMRVE9FZepJb3//19GTGK8GAI54M1F2EZEKTjV9ehHYM9sW8wUzD0AnGfZWaGk5hoAzSTjHz1s+4IyfwFwu8rTY7ITrPQ2InK/z96xoN7fAdBRJnMo77ZdhBua+2s+ZlsF7wd8DcjS13+iMpEy/2sPlLQqu2N6A+dbBzWluY7VAAAAAElFTkSuQmCC"); 128 | } 129 | a.xfnRelationship[rel~="child"] { 130 | padding-right: 21px; 131 | background-image: url(icons/xfn/xfn-child.png); 132 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAANCAMAAACTkM4rAAAAvVBMVEXM2e/B0Oz///++zuvA0OzAz+u+zuvA0Oy/z+vz9vsoYcChwv/q7/n////p7vi+zuszasbn7viVseCkxP/+//87b8bz9vzs8fltlNTt9P/r8Pnm7/+ZtOGateFrk9QsZMGnxv/7/P/8/f46bsXa5PS60v/6/P9xltUuZcLQ3PHT4v+yzf/w9PuLqd0zacM3bMRymN2CqO6xzf/8/f9Fdsh6o+uox//N3/+txOfE2f81a8bG1e5ejNu20P/w9v9zpagkAAAACXRSTlP45gAUm+oS6Z4bD6DtAAAAlUlEQVQIW2WPVQ7DQAwFHY692XCZmZnx/seqk0ZJpc6Pn0Z6sg2qqStejqKbKmgGuIhYxxQXDA1siKWstDvVskyIWVgOhyYRhamSjgUe8gxZTWq3Bkf0vurBqvUS3V6h+gOi4UiIcaGCKdFsLhZ5cblac3Gz3e0PqbKc4EgZp/Ml2WjDtZRw933/GUVvFtn1+HP9/48fzYIO5ZD33dQAAAAASUVORK5CYII="); 133 | } 134 | a.xfnRelationship[rel~="parent"] { 135 | padding-right: 21px; 136 | background-image: url(icons/xfn/xfn-parent.png); 137 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAMAAAAVBLyFAAAA3lBMVEXA0OzJ1u7Az+u+zuu+zuu/z+v///+/z+vI1u7A0OwoYcChwv////++zuvw9Prx9Puyzf/9/v7n7ffm7Pf+/v/9/v+iw//S4f3l7fyryf/7/f/f5/a30P/Y5v9nj9Pu8vspYsCPse3P4P+7zevb6P9didTc6f9Rf8x1m9n2+f+OrN6tw+qlxf/+//+VseCTte/U4//k6/d7ntgrY8E4bchql+MvZsKnxv/F2f/Z4/Q3bMQwaMSVuPnV5P+tw+ZdiNBch89Mfc9Jes9Ies9Hes5Hec5Gec6StPCQtPbQ4P5zH8oEAAAACnRSTlPk+OYREJgAmfjnFvieJgAAAK9JREFUeF5lz9WOw0AMhlGHOok9kKTMzMzLjO//QutuqipSvyvrXPmHjOuBugSemwHHtmJtuFKxaXRs2Q4IP5KnegUqV6SMfAFBliHfrdaIqM5nNgClmRrYajN1mLQCZaTMHRD7TAMmk5AcIo6ICuMUTRCnRLN5ihaISyJa5RPScr3ZIu72P0THm5xW/MTtHf53/0BEj/yE8J+eX17f3j8+v77DMPz1xXlQ0nnQ9ew/oEsSiPZewisAAAAASUVORK5CYII="); 138 | } 139 | a.xfnRelationship[rel~="spouse"] { 140 | padding-right: 21px; 141 | background-image: url(icons/xfn/xfn-spouse.png); 142 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAMAAAAVBLyFAAABaFBMVEW+zuu+zuvAz+z///+/z+vA0Oy/z+vI1u7J1u7A0OzA0Oz///++zuvw9Prx9Pv9/v6usTfw8O+7vjv9/f3n7ffm7PfT089+f1nR1EGRkYjGxsL29vXc3Nr+/v6oqKKfojOUly/Y2NXc3NlrazHAwzySlC93eEttbzJ7fDjIyz5MTSSAgTrGyT7z8/Nub0e6vTvx8fDz8/KVl0LM0ECChChqazySkoJ8fyaRky5TVC+QkzF3eDONjy2doDJ3eDuLi36KjC3v7+6HiTZ9fyvr7vTs7/WWmTF0dTjq6uimqTRzdEKDhUWTlS/o6OaEhTqChCvo6vGCg0KlqDWysqyChDh6eyitsDdvcDK2trC3ujlyc0HHx8KqrTeBgj55eViHiS9paUijpTNcXUV9fVirrjaYmjHHx8O9vbeChDZ2eCp+f012dyxgYiS/wjy4uzp3eDK4uLP5+fjKysbExz1zc07u8fjJycX4+PfL29bJAAAAC3RSTlMPEeQAl+SZ+Pjo54Y2LlAAAADTSURBVHhebY/TjgVBAAX7Enu6B5e2bWNp27aN39+ZyWZf7p7HSiqpQzREq6N/02kloFIbrYz7HbMa1SqiN/BAzi4CRXsJ4A16YrIhHI8JzVYkKHTzIdiGCGXe42jSkWik0o5M9tbLKKHcXWHYgnKlWoOl/v7BSeiz3fFB7PUPR0bhGxufkNDk1DQwMzs3v7AILC2vyOLq2jqwsbm1Dezs7ski2z8IHLlOAqdnrvOLyytG5YjrG7PTfP/w6Hx6fpEilNTXN7/b43H7v76V1MFD/9z+AVw1IjFL8DyHAAAAAElFTkSuQmCC"); 143 | } 144 | a.xfnRelationship[rel~="me"] { 145 | padding-right: 21px; 146 | background-image: url(icons/xfn/xfn-me.png); 147 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAMAAAAVBLyFAAAAWlBMVEXGxsYoYcC+z+u+z+y9zusnYL/Z4/S+zusoYMBdiM/y9fteidDd5/QnYMDe5/VCdcihuuPy9Ps1a8SUsN+8zetdidDJ1u7Z5PV4m9hCdMeuxOc0asStw+b///+reoflAAAAAXRSTlMAQObYZgAAAH1JREFUeF5dj1cOBDEIQ7Ehbfpsr/e/5qYoH7Mg2eLJICHiSVU1Ja2Iz2T6Hmq5i1bwAnBpTIXVE4DUUUuNEW78QwCuDQWx6o8InBuihOrDiud+XNwA3DoKObKtmB3m9Bl66uQAF13Wd0d5KF2knvfL8aGpPKlUUoMZSaOXHyGOEL2qtmFaAAAAAElFTkSuQmCC"); 148 | } 149 | 150 | /* rel-tag */ 151 | a[rel~="tag"] { 152 | padding-right: 32px; 153 | background: url(icons/icon-rel-tag.png); 154 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAASCAMAAACQGyXoAAAAwFBMVEXGxsb///8zcMkhXsDx9PpCf9A5dcsnYL8tZcEzasQoYcAlYsJljtJFgtOluuF1ltM9e85KiNUtbMgudMseVbgpZMFHhNNLidYoaMW3yehPjddqlNYvacVXlNtpjM7e5/UhWrxqo+FFecxbgsp+sufR2+90quM3ftCBotonZsTj6/c0es6Kqt1Pgc9Wk9vT3fHJ2PE3Zr9Xi9SrweaIo9iUs+KVrNvG1O6Fotc6gtJTkNrBzukbW7+HuOhOjNh+ntfOA5d8AAAAAXRSTlMAQObYZgAAATtJREFUeF51kdXOHDEMheMgDDLDMtPP3L7/W9Wzq6q92S+J5eOjJJZMyK4xyuK67r9gZtwBTSO66XS1Wi0Wi58bmKGeenogjehOpw65xX/i1AmXmPrzLpqoui5ygXjRr1zkRX3TqOo6I7aIvAuMPHovcBFR4T1WHHgTRYUlNs9Fs3mDzSGUZw4zTxz57rB5Cr08z4jCR0P6BG0YHqGCIJQVzKSUIdbRDRHqoyt/g+QVNbwyM9c9Yhn/lYjxQcv2jc/PXGuodABwoFKiS5HWB0sNjMztcniwKTy3lGJXMZL5MNn20E8e4FX1sAwCeM/i2BJVIg66js/1li0HpuZfAMs+K0t0HURNJswZD7uFNE3ZWCaG3UeThn3fg7k4Qca2ZRwnyX6/Xn8g6/0+SeLSYXocsGuuc1e3qP6f/h96Fy3YfuOuuQAAAABJRU5ErkJggg=="); 155 | background-repeat: no-repeat; 156 | background-position: right; 157 | } 158 | 159 | /* geo */ 160 | abbr[class~="geo"] { 161 | padding-right: 32px; 162 | background: url(icons/icon-geo.png) no-repeat right; 163 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAASCAMAAACQGyXoAAABF1BMVEWSxzD///+n1DSfzTKr1zWZyjGx3Det2zau2zbw9+Kk0jSgzjK62Tev1DXG5juXyTC31zbT60rW7FCh0DO32Gey1l6ayjGcyzGy3TebyjGs2TbQ5o/n9MSUyTCmzzPO5o+z3Ty/4zr6/PPD42X1+ubw+Nux2EHM6EGu1kHU6JnJ5z7r9c+v10XI44XO6kW43kbj8rmr1Tew2TvL5X2v3DfB3Tiz3zjR55mVxjCr1Tiu2TjY6qPh77nJ433C4Gy+3WvG5W3G4n2l1jXM5Ia23kOx3Dq04Dir1UC02U/S6I+t2Dey2Em12kqo1DigzjOm0zXk8cO32lW83WSt1jri8Lmp1DbB33T0+eao1zWl0zSizjS02kKx3Dmg7209AAABHUlEQVR4Xn3R1W4DQQwFUHtgmcPMzGVmZub//456U6VKpaRHGkvXV34aQD0qYRYZ0xF0yU5KJcdpN/q+7wdBQLPfaDtO6U3qED1YmYfFQGqKklRIcholWuYANEWbI2xVTVOPO1gbqMXscJitqMUaVgdqiNp0Or2EWKni1xF2srW9n1BUab8GIIRYxAshnhY+UYzDhhB4LgjdMsYOy2yU2anXkVxtI21eNwVNGLcZZOtb2Krj4/OIArXlFiN0axjGJRbeH7DQxLNu97qJhdt9vDcIAETIC2L5rneKZDWyS7MXCVFrmpzc8CkfnJimSW2C88RMnAPISUiFbzwmOZWDqBv/lYr/4cZAly7P523b8yxr+YdleZ5t512p///73zK9KpM38kTwAAAAAElFTkSuQmCC") no-repeat right; 164 | border: none; 165 | cursor: default; 166 | } 167 | } 168 | -------------------------------------------------------------------------------- /yaml/add-ons/accessible-tabs/jquery.tabs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Accessible Tabs - jQuery plugin for accessible, unobtrusive tabs 3 | * Build to seemlessly work with the CCS-Framework YAML (yaml.de) not depending on YAML though 4 | * @requires jQuery - tested with 1.9.1, 1.7 and 1.4.2 but might as well work with older versions 5 | * 6 | * english article: http://blog.ginader.de/archives/2009/02/07/jQuery-Accessible-Tabs-How-to-make-tabs-REALLY-accessible.php 7 | * german article: http://blog.ginader.de/archives/2009/02/07/jQuery-Accessible-Tabs-Wie-man-Tabs-WIRKLICH-zugaenglich-macht.php 8 | * 9 | * code: http://github.com/ginader/Accessible-Tabs 10 | * please report issues at: http://github.com/ginader/Accessible-Tabs/issues 11 | * 12 | * Copyright (c) 2007 Dirk Ginader (ginader.de) 13 | * Dual licensed under the MIT and GPL licenses: 14 | * http://www.opensource.org/licenses/mit-license.php 15 | * http://www.gnu.org/licenses/gpl.html 16 | * 17 | */ 18 | 19 | (function($) { 20 | var debugMode = true; 21 | $.fn.extend({ 22 | // We assume there could be multiple sets of tabs on a page, so, 23 | // the unique id for each invididual tab's heading is identified with params q and r (e.g., id="accessibletabscontent0-2") 24 | getUniqueId: function(p, q, r){ 25 | if (r===undefined) {r='';} else {r='-'+r;} 26 | return p + q + r; 27 | }, 28 | accessibleTabs: function(config) { 29 | var defaults = { 30 | wrapperClass: 'content', // Classname to apply to the div that is wrapped around the original Markup 31 | currentClass: 'current', // Classname to apply to the LI of the selected Tab 32 | tabhead: 'h4', // Tag or valid Query Selector of the Elements to Transform the Tabs-Navigation from (originals are removed) 33 | tabheadClass: 'tabhead', // Classname to apply to the target heading element for each tab div 34 | tabbody: '.tabbody', // Tag or valid Query Selector of the Elements to be treated as the Tab Body 35 | fx:'show', // can be "fadeIn", "slideDown", "show" 36 | fxspeed: 'normal', // speed (String|Number): "slow", "normal", or "fast") or the number of milliseconds to run the animation 37 | currentInfoText: 'current tab: ', // text to indicate for screenreaders which tab is the current one 38 | currentInfoPosition: 'prepend', // Definition where to insert the Info Text. Can be either "prepend" or "append" 39 | currentInfoClass: 'current-info', // Class to apply to the span wrapping the CurrentInfoText 40 | tabsListClass:'tabs-list', // Class to apply to the generated list of tabs above the content 41 | syncheights:false, // syncs the heights of the tab contents when the SyncHeight plugin is available http://blog.ginader.de/dev/jquery/syncheight/index.php 42 | syncHeightMethodName:'syncHeight', // set the Method name of the plugin you want to use to sync the tab contents. Defaults to the SyncHeight plugin: http://github.com/ginader/syncHeight 43 | cssClassAvailable:false, // Enable individual css classes for tabs. Gets the appropriate class name of a tabhead element and apply it to the tab list element. Boolean value 44 | saveState:false, // save the selected tab into a cookie so it stays selected after a reload. This requires that the wrapping div needs to have an ID (so we know which tab we're saving) 45 | autoAnchor:false, // will move over any existing id of a headline in tabs markup so it can be linked to it 46 | pagination:false, // adds buttons to each tab to switch to the next/previous tab 47 | position:'top', // can be 'top' or 'bottom'. Defines where the tabs list is inserted. 48 | wrapInnerNavLinks: '', // inner wrap for a-tags in tab navigation. See http://api.jquery.com/wrapInner/ for further informations 49 | firstNavItemClass: 'first', // Classname of the first list item in the tab navigation 50 | lastNavItemClass: 'last', // Classname of the last list item in the tab navigation 51 | clearfixClass: 'clearfix' // Name of the Class that is used to clear/contain floats 52 | }; 53 | var keyCodes = { 54 | 37 : -1, //LEFT 55 | 38 : -1, //UP 56 | 39 : +1, //RIGHT 57 | 40 : +1 //DOWN 58 | }; 59 | var positions = { 60 | top : 'prepend', 61 | bottom : 'append' 62 | }; 63 | this.options = $.extend(defaults, config); 64 | 65 | var tabsCount = 0; 66 | if($("body").data('accessibleTabsCount') !== undefined){ 67 | tabsCount = $("body").data('accessibleTabsCount'); 68 | } 69 | $("body").data('accessibleTabsCount',this.size()+tabsCount); 70 | 71 | var o = this; 72 | return this.each(function(t) { 73 | var el = $(this); 74 | var list = ''; 75 | var tabCount = 0; 76 | var ids = []; 77 | 78 | $(el).wrapInner('
'); 79 | 80 | $(el).find(o.options.tabhead).each(function(i){ 81 | var id = ''; 82 | var elId = $(this).attr('id'); 83 | if(elId){ 84 | // Skip this item if it already exists. 85 | if(elId.indexOf('accessibletabscontent') === 0) { 86 | return; 87 | } 88 | id =' id="'+elId+'"'; 89 | } 90 | var tabId = o.getUniqueId('accessibletabscontent', tabsCount+t, i);//get a unique id to assign to this tab's heading 91 | var navItemId = o.getUniqueId('accessibletabsnavigation', tabsCount+t, i);//get a unique id for this navigation item 92 | ids.push(tabId); 93 | if(o.options.cssClassAvailable === true) { 94 | var cssClass = ''; 95 | if($(this).attr('class')) { 96 | cssClass = $(this).attr('class'); 97 | cssClass = ' class="'+cssClass+'"'; 98 | } 99 | list += '
  • '+$(this).html()+'
  • '; 100 | } else { 101 | list += '
  • '+$(this).html()+'
  • '; 102 | } 103 | $(this).attr({"id": tabId, "class": o.options.tabheadClass, "tabindex": "-1"});//assign the unique id and the tabheadClass class name to this tab's heading 104 | tabCount++; 105 | }); 106 | 107 | if (o.options.syncheights && $.fn[o.options.syncHeightMethodName]) { 108 | $(el).find(o.options.tabbody)[o.options.syncHeightMethodName](); 109 | $(window).resize(function(){ 110 | $(el).find(o.options.tabbody)[o.options.syncHeightMethodName](); 111 | }); 112 | } 113 | 114 | // Ensure that the call to setup tabs is re-runnable 115 | var tabs_selector = '.' + o.options.tabsListClass; 116 | if(!$(el).find(tabs_selector).length) { 117 | $(el)[positions[o.options.position]](''); 118 | } 119 | 120 | $(el).find(tabs_selector).append(list); 121 | 122 | // initial show first content block and hide the others 123 | var content = $(el).find(o.options.tabbody); 124 | if (content.length > 0) { 125 | $(content).hide(); 126 | $(content[0]).show(); 127 | } 128 | $(el).find("ul."+o.options.tabsListClass+">li:first").addClass(o.options.currentClass).addClass(o.options.firstNavItemClass) 129 | .find('a')[o.options.currentInfoPosition](''+o.options.currentInfoText+'') 130 | .parents("ul."+o.options.tabsListClass).children('li:last').addClass(o.options.lastNavItemClass); 131 | 132 | if (o.options.wrapInnerNavLinks) { 133 | $(el).find('ul.'+o.options.tabsListClass+'>li>a').wrapInner(o.options.wrapInnerNavLinks); 134 | } 135 | 136 | $(el).find('ul.'+o.options.tabsListClass+'>li>a').each(function(i){ 137 | $(this).click(function(event){ 138 | event.preventDefault(); 139 | el.trigger("showTab.accessibleTabs", [$(event.target)]); 140 | if(o.options.saveState && $.cookie){ 141 | $.cookie('accessibletab_'+el.attr('id')+'_active',i); 142 | } 143 | $(el).find('ul.'+o.options.tabsListClass+'>li.'+o.options.currentClass).removeClass(o.options.currentClass) 144 | .find("span."+o.options.currentInfoClass).remove(); 145 | $(this).blur(); 146 | $(el).find(o.options.tabbody+':visible').hide(); 147 | $(el).find(o.options.tabbody).eq(i)[o.options.fx](o.options.fxspeed); 148 | $(this)[o.options.currentInfoPosition](''+o.options.currentInfoText+'') 149 | .parent().addClass(o.options.currentClass); 150 | //now, only after writing the currentInfoText span to the tab list link, set focus to the tab's heading 151 | 152 | $($(this).attr("href")).focus().keyup(function(event){ 153 | if(keyCodes[event.keyCode]){ 154 | o.showAccessibleTab(i+keyCodes[event.keyCode]); 155 | $(this).unbind( "keyup" ); 156 | } 157 | }); 158 | 159 | // $(el).find('.accessibletabsanchor').keyup(function(event){ 160 | // if(keyCodes[event.keyCode]){ 161 | // o.showAccessibleTab(i+keyCodes[event.keyCode]); 162 | // } 163 | // }); 164 | }); 165 | 166 | $(this).focus(function(){ 167 | $(document).keyup(function(event){ 168 | if(keyCodes[event.keyCode]){ 169 | o.showAccessibleTab(i+keyCodes[event.keyCode]); 170 | } 171 | }); 172 | }); 173 | $(this).blur(function(){ 174 | $(document).unbind( "keyup" ); 175 | }); 176 | 177 | }); 178 | 179 | if(o.options.saveState && $.cookie){ 180 | var savedState = $.cookie('accessibletab_'+el.attr('id')+'_active'); 181 | debug($.cookie('accessibletab_'+el.attr('id')+'_active')); 182 | if(savedState !== null){ 183 | o.showAccessibleTab(savedState,el.attr('id')); 184 | } 185 | } 186 | 187 | if(o.options.autoAnchor && window.location.hash){ 188 | var anchorTab = $('.'+o.options.tabsListClass).find(window.location.hash); 189 | if(anchorTab.size()){ 190 | anchorTab.click(); 191 | } 192 | } 193 | 194 | if(o.options.pagination){ 195 | var m = ''; 199 | var tabs = $(el).find('.tabbody'); 200 | var tabcount = tabs.size(); 201 | tabs.each(function(idx){ 202 | $(this).append(m); 203 | var next = idx+1; 204 | if(next>=tabcount){next = 0;} 205 | var previous = idx-1; 206 | if(previous<0){previous = tabcount-1;} 207 | var p = $(this).find('.pagination'); 208 | var previousEl = p.find('.previous'); 209 | previousEl.find('span').text($('#'+ids[previous]).text()); 210 | previousEl.find('a').attr('href','#'+ids[previous]) 211 | .click(function(event){ 212 | event.preventDefault(); 213 | $(el).find('.tabs-list a').eq(previous).click(); 214 | }); 215 | var nextEl = p.find('.next'); 216 | nextEl.find('span').text($('#'+ids[next]).text()); 217 | nextEl.find('a').attr('href','#'+ids[next]) 218 | .click(function(event){ 219 | event.preventDefault(); 220 | $(el).find('.tabs-list a').eq(next).click(); 221 | }); 222 | }); 223 | } 224 | }); 225 | }, 226 | showAccessibleTab: function(index,id){ 227 | debug('showAccessibleTab'); 228 | var o = this; 229 | if(id) { 230 | var el = $('#'+id); 231 | var links = el.find('ul.'+o.options.tabsListClass+'>li>a'); 232 | el.trigger("showTab.accessibleTabs", [links.eq(index)]); 233 | links.eq(index).click(); 234 | } else { 235 | return this.each(function() { 236 | var el = $(this); 237 | el.trigger("showTab.accessibleTabs"); 238 | var links = el.find('ul.'+o.options.tabsListClass+'>li>a'); 239 | el.trigger("showTab.accessibleTabs", [links.eq(index)]); 240 | links.eq(index).click(); 241 | }); 242 | } 243 | }, 244 | showAccessibleTabSelector: function(selector){ 245 | debug('showAccessibleTabSelector'); 246 | var el = $(selector); 247 | if(el){ 248 | if(el.get(0).nodeName.toLowerCase() === 'a'){ 249 | el.click(); 250 | }else{ 251 | debug('the selector of a showAccessibleTabSelector() call needs to point to a tabs headline!'); 252 | } 253 | } 254 | } 255 | }); 256 | // private Methods 257 | function debug(msg,info){ 258 | if(debugMode && window.console && window.console.log){ 259 | if(info){ 260 | window.console.log(info+': ',msg); 261 | }else{ 262 | window.console.log(msg); 263 | } 264 | } 265 | } 266 | })(jQuery); 267 | -------------------------------------------------------------------------------- /js/lib/backbone-min.js: -------------------------------------------------------------------------------- 1 | // Backbone.js 0.9.10 2 | 3 | // (c) 2010-2012 Jeremy Ashkenas, DocumentCloud Inc. 4 | // Backbone may be freely distributed under the MIT license. 5 | // For all details and documentation: 6 | // http://backbonejs.org 7 | (function(){var n=this,B=n.Backbone,h=[],C=h.push,u=h.slice,D=h.splice,g;g="undefined"!==typeof exports?exports:n.Backbone={};g.VERSION="0.9.10";var f=n._;!f&&"undefined"!==typeof require&&(f=require("underscore"));g.$=n.jQuery||n.Zepto||n.ender;g.noConflict=function(){n.Backbone=B;return this};g.emulateHTTP=!1;g.emulateJSON=!1;var v=/\s+/,q=function(a,b,c,d){if(!c)return!0;if("object"===typeof c)for(var e in c)a[b].apply(a,[e,c[e]].concat(d));else if(v.test(c)){c=c.split(v);e=0;for(var f=c.length;e< 8 | f;e++)a[b].apply(a,[c[e]].concat(d))}else return!0},w=function(a,b){var c,d=-1,e=a.length;switch(b.length){case 0:for(;++d=b);this.root=("/"+this.root+"/").replace(I,"/");b&&this._wantsHashChange&&(this.iframe=g.$('