├── .gitignore ├── htdocs └── app │ ├── rawindex │ ├── screenshot.png │ ├── app.json │ └── index.html │ ├── _ │ ├── img │ │ └── YaCyLogo2011_60.png │ ├── js │ │ ├── t.min.js │ │ └── conf.js │ └── css │ │ └── lit.css │ ├── facetpiechart │ ├── screenshot.png │ ├── app.json │ └── index.html │ ├── snippetlines │ ├── screenshot.png │ ├── app.json │ └── index.html │ ├── websearch_lit │ ├── screenshot.png │ ├── README.md │ ├── app.json │ └── index.html │ ├── websearch_yaml4 │ ├── screenshot.png │ ├── yaml │ │ ├── add-ons │ │ │ ├── microformats │ │ │ │ └── icons │ │ │ │ │ ├── hcard.png │ │ │ │ │ ├── icon-geo.png │ │ │ │ │ ├── icon-xfn.png │ │ │ │ │ ├── hcalendar.png │ │ │ │ │ ├── icon-hatom.png │ │ │ │ │ ├── icon-haudio.png │ │ │ │ │ ├── icon-hcard.png │ │ │ │ │ ├── xfn │ │ │ │ │ ├── xfn-me.png │ │ │ │ │ ├── xfn-child.png │ │ │ │ │ ├── xfn-small.png │ │ │ │ │ ├── xfn-friend.png │ │ │ │ │ ├── xfn-parent.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-hresume.png │ │ │ │ │ ├── icon-rel-tag.png │ │ │ │ │ ├── icon-hcalendar.png │ │ │ │ │ ├── icon-hcard-add.png │ │ │ │ │ ├── icon-hcalendar-add.png │ │ │ │ │ ├── icon-hcard-download.png │ │ │ │ │ └── icon-hcalendar-download.png │ │ │ ├── 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 │ │ ├── print │ │ │ └── print.css │ │ ├── core │ │ │ ├── js │ │ │ │ └── yaml-focusfix.js │ │ │ ├── iehacks.min.css │ │ │ ├── base.min.css │ │ │ └── iehacks.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 │ ├── app.json │ ├── css │ │ ├── yacysearch-yaml.css │ │ ├── yacysearch-portal.css │ │ └── yacysearch-result.css │ ├── js │ │ ├── setup.js │ │ ├── navigation.js │ │ └── search.js │ ├── usage.html │ ├── index.html │ └── about.html │ └── websearch_bootstrap │ ├── screenshot.png │ ├── img │ └── external.png │ ├── css │ ├── ie6.css │ ├── oldie.css │ ├── jumbotron.css │ ├── ie7.css │ ├── yacysearch-yaml.css │ ├── yacysearch-portal.css │ ├── yacysearch-result.css │ ├── dashboard.css │ ├── bootstrap-base.css │ └── style.css │ ├── bootstrap │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── js │ │ ├── ie10-viewport-bug-workaround.js │ │ ├── html5shiv.js │ │ └── respond.min.js │ ├── js │ └── setup.js │ ├── app.json │ ├── README.md │ ├── navigation.js │ ├── usage.html │ ├── about.html │ └── index.html ├── .project ├── README.md └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .gitignore~ 3 | -------------------------------------------------------------------------------- /htdocs/app/rawindex/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/rawindex/screenshot.png -------------------------------------------------------------------------------- /htdocs/app/_/img/YaCyLogo2011_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/_/img/YaCyLogo2011_60.png -------------------------------------------------------------------------------- /htdocs/app/facetpiechart/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/facetpiechart/screenshot.png -------------------------------------------------------------------------------- /htdocs/app/snippetlines/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/snippetlines/screenshot.png -------------------------------------------------------------------------------- /htdocs/app/websearch_lit/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_lit/screenshot.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/screenshot.png -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_bootstrap/screenshot.png -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/img/external.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_bootstrap/img/external.png -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/css/ie6.css: -------------------------------------------------------------------------------- 1 | /* Fixes for IE 6 and lower */ 2 | 3 | /* API icon - IE6 does not support position:fixed 4 | div#api { 5 | position:absolute; 6 | } */ -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/css/oldie.css: -------------------------------------------------------------------------------- 1 | /* Fixes for IE 5 and lower */ 2 | 3 | /* IE 5 and lower can't display favicons, so hide them */ 4 | img.favicon { 5 | display: none; 6 | } 7 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/hcard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/hcard.png -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/css/jumbotron.css: -------------------------------------------------------------------------------- 1 | /* Move down content because we have a fixed navbar that is 50px tall */ 2 | body { 3 | padding-top: 50px; 4 | padding-bottom: 20px; 5 | } 6 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-geo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-geo.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-xfn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-xfn.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/hcalendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/hcalendar.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hatom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hatom.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-haudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-haudio.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcard.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-me.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/external_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/external_link.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hresume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hresume.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-rel-tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-rel-tag.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-child.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-child.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-small.png -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_bootstrap/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_bootstrap/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/css/ie7.css: -------------------------------------------------------------------------------- 1 | /* Fixes for IE 7 and lower */ 2 | 3 | /* A class for elements that should get layout because this fixes many things */ 4 | .gainlayout { 5 | height: 1%; 6 | } 7 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcalendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcalendar.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcard-add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcard-add.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-friend.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-parent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-parent.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-spouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-spouse.png -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_bootstrap/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_bootstrap/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcalendar-add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcalendar-add.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-colleague.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-colleague.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-friend-met.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-friend-met.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-sweetheart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-sweetheart.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcard-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcard-download.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-colleague-met.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-colleague-met.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcalendar-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/icon-hcalendar-download.png -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-sweetheart-met.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yacy/searchlab_apps/HEAD/htdocs/app/websearch_yaml4/yaml/add-ons/microformats/icons/xfn/xfn-sweetheart-met.png -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | searchlab_apps 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/js/setup.js: -------------------------------------------------------------------------------- 1 | /* 2 | * setup.js 3 | * customization values for the yacy_webclient_bootstrap templates 4 | * (C) 2014, 2015 by Michael Peter Christen, licensed by CC0 5 | */ 6 | 7 | var homepage="http://yacy.net"; 8 | var logo="../_/img/YaCyLogo2011_60.png"; 9 | var headline="Search Portal"; 10 | var greeting="Document Search"; 11 | var queryplaceholder="Document Retrieval"; 12 | -------------------------------------------------------------------------------- /htdocs/app/websearch_lit/README.md: -------------------------------------------------------------------------------- 1 | This application serves as a template for creating a new 2 | loklak app by simply editing the necessary files.This application can be used as a template to get started with 3 | **loklak app development** quickly. 4 | Just create a copy of this app, rename this app, configure 5 | app.json and edit the files to create your own app. This app 6 | serves as an alternative of usng loklakinit tool for creating an 7 | app structure and app.json manually 8 | -------------------------------------------------------------------------------- /htdocs/app/rawindex/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context":"http://schema.org", 3 | "@type":"SoftwareApplication", 4 | "name":"Raw Index", 5 | "headline":"JSON Document from Search Index", 6 | "alternativeHeadline":"To view documents as they are stored", 7 | "applicationCategory":"Web Search", 8 | "applicationSubCategory":"Minimalistic", 9 | "license": "https://creativecommons.org/publicdomain/zero/1.0/", 10 | "dateCreated": "2022-03-28", 11 | "dateModified": "2022-03-28", 12 | "version": "1.0", 13 | "author":{ 14 | "@type":"Person", 15 | "name":"Michael Peter Christen", 16 | "url":"http://yacy.net", 17 | "sameAs":"https://github.com/orbiterlab" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /htdocs/app/snippetlines/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context":"http://schema.org", 3 | "@type":"SoftwareApplication", 4 | "name":"Snippet Lines", 5 | "headline":"Search Results as Snippet Lines", 6 | "alternativeHeadline":"Consider this as a text generator", 7 | "applicationCategory":"Web Search", 8 | "applicationSubCategory":"Minimalistic", 9 | "license": "https://creativecommons.org/publicdomain/zero/1.0/", 10 | "dateCreated": "2022-03-28", 11 | "dateModified": "2022-03-28", 12 | "version": "1.0", 13 | "author":{ 14 | "@type":"Person", 15 | "name":"Michael Peter Christen", 16 | "url":"http://yacy.net", 17 | "sameAs":"https://github.com/orbiterlab" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context":"http://schema.org", 3 | "@type":"SoftwareApplication", 4 | "name":"websearch_yaml4", 5 | "headline":"Web Search App with YAML 4", 6 | "alternativeHeadline":"Rich Faceted Search Front-End", 7 | "applicationCategory":"Web Search", 8 | "applicationSubCategory":"Faceted Search", 9 | "license": "https://creativecommons.org/publicdomain/zero/1.0/", 10 | "dateCreated": "2022-02-25", 11 | "dateModified": "2022-02-25", 12 | "version": "1.0", 13 | "author":{ 14 | "@type":"Person", 15 | "name":"Michael Peter Christen", 16 | "url":"http://yacy.net", 17 | "sameAs":"https://github.com/orbiterlab" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /htdocs/app/facetpiechart/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context":"http://schema.org", 3 | "@type":"SoftwareApplication", 4 | "name":"Facet Piecharts", 5 | "headline":"Pie Charts for Search Facets", 6 | "alternativeHeadline":"Statistical Evaluation of Search Context", 7 | "applicationCategory":"Web Search", 8 | "applicationSubCategory":"Minimalistic", 9 | "license": "https://creativecommons.org/publicdomain/zero/1.0/", 10 | "dateCreated": "2022-02-02", 11 | "dateModified": "2022-02-25", 12 | "version": "1.0", 13 | "author":{ 14 | "@type":"Person", 15 | "name":"Michael Peter Christen", 16 | "url":"http://yacy.net", 17 | "sameAs":"https://github.com/orbiterlab" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context":"http://schema.org", 3 | "@type":"SoftwareApplication", 4 | "name":"websearch_bootstrap", 5 | "headline":"Web Search App with Bootstrap", 6 | "alternativeHeadline":"Same Search Web Front-End like YaCy P2P", 7 | "applicationCategory":"Web Search", 8 | "applicationSubCategory":"Faceted Search", 9 | "license": "https://creativecommons.org/publicdomain/zero/1.0/", 10 | "dateCreated": "2022-02-25", 11 | "dateModified": "2022-02-25", 12 | "version": "1.0", 13 | "author":{ 14 | "@type":"Person", 15 | "name":"Michael Peter Christen", 16 | "url":"http://yacy.net", 17 | "sameAs":"https://github.com/orbiterlab" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /htdocs/app/_/js/t.min.js: -------------------------------------------------------------------------------- 1 | // t.min.js from https://github.com/jasonmoo/t.js (C) MIT License by Jason Mooberry 2 | (function(){function c(a){this.t=a}function l(a,b){for(var e=b.split(".");e.length;){if(!(e[0]in a))return!1;a=a[e.shift()]}return a}function d(a,b){return a.replace(h,function(e,a,i,f,c,h,k,m){var f=l(b,f),j="",g;if(!f)return"!"==i?d(c,b):k?d(m,b):"";if(!i)return d(h,b);if("@"==i){e=b._key;a=b._val;for(g in f)f.hasOwnProperty(g)&&(b._key=g,b._val=f[g],j+=d(c,b));b._key=e;b._val=a;return j}}).replace(k,function(a,c,d){return(a=l(b,d))||0===a?"%"==c?(new Option(a)).innerHTML.replace(/"/g,"""):a:""})}var h=/\{\{(([@!]?)(.+?))\}\}(([\s\S]+?)(\{\{:\1\}\}([\s\S]+?))?)\{\{\/\1\}\}/g,k=/\{\{([=%])(.+?)\}\}/g;c.prototype.render=function(a){return d(this.t,a)};window.t=c})(); 3 | -------------------------------------------------------------------------------- /htdocs/app/websearch_lit/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context":"http://schema.org", 3 | "@type":"SoftwareApplication", 4 | "name":"websearch_lit", 5 | "headline":"Minimalistic Boilerplate Web Search", 6 | "alternativeHeadline":"The 'hello world' app that you want to copy-paste for your own web search app", 7 | "applicationCategory":"Web Search", 8 | "applicationSubCategory":"Minimalistic", 9 | "license": "https://creativecommons.org/publicdomain/zero/1.0/", 10 | "dateCreated": "2022-02-02", 11 | "dateModified": "2022-02-25", 12 | "version": "1.0", 13 | "author":{ 14 | "@type":"Person", 15 | "name":"Michael Peter Christen", 16 | "url":"http://yacy.net", 17 | "sameAs":"https://github.com/orbiterlab" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/bootstrap/js/ie10-viewport-bug-workaround.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * IE10 viewport hack for Surface/desktop Windows 8 bug 3 | * Copyright 2014 Twitter, Inc. 4 | * Licensed under the Creative Commons Attribution 3.0 Unported License. For 5 | * details, see http://creativecommons.org/licenses/by/3.0/. 6 | */ 7 | 8 | // See the Getting Started docs for more information: 9 | // http://getbootstrap.com/getting-started/#support-ie10-width 10 | 11 | (function () { 12 | 'use strict'; 13 | if (navigator.userAgent.match(/IEMobile\/10\.0/)) { 14 | var msViewportStyle = document.createElement('style') 15 | msViewportStyle.appendChild( 16 | document.createTextNode( 17 | '@-ms-viewport{width:auto!important}' 18 | ) 19 | ) 20 | document.querySelector('head').appendChild(msViewportStyle) 21 | } 22 | })(); 23 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/README.md: -------------------------------------------------------------------------------- 1 | # yacy_webclient_bootstrap 2 | This is a YaCy Search Client using Bootstrap which can be used as a template for your own search portal! 3 | 4 | This can be hosted on github pages. Here is the example link to this repository: 5 | http://yacy.github.io/yacy_webclient_bootstrap/ 6 | 7 | The search result from the default cofiguration is retrieved either from http://search.yacy.net (the demo portal of YaCy) 8 | if you open the web pages from a http-hosted location like github pages) or the search results are retrieved from your 9 | local YaCy installation at ```http://localhost:8090``` if you open the pages from a ```file://```-path. 10 | 11 | To run your own search portal with your own search index, just change the ```server``` setting in ```js/setup.js```. 12 | 13 | To download the YaCy search server, go to http://yacy.net 14 | 15 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/_/css/lit.css: -------------------------------------------------------------------------------- 1 | /*- CSS (C) MIT License by Arham Jain from https://github.com/ajusa/lit.git, slightly modified */ 2 | :root { --font: Arial; --primary-color: #2B3E50; --light: #f5f5f5; } 3 | * { box-sizing: border-box; } *+* { margin: .5em 0; } pre { overflow: auto } 4 | @media(min-width:35em) { 5 | .col { display: table-cell; } .row { display: table; border-spacing: 1em 0; } 6 | .\31 { width: 5%; } .\32 { width: 15%; } .\33 { width: 22%; } .\34 { width: 30%; } .\35 { width: 40%; } .\36 { width: 50%; } 7 | } 8 | .w-100, .row { width: 100%; } .w-75, .row { width: 75%; } a:hover, .btn:hover { opacity: .6; } 9 | .card:focus, hr { outline: 0; border: solid var(--primary-color); } 10 | .card, pre { padding: 1em; border: solid var(--light); } 11 | .c { max-width: 60em; padding: 1em; margin: auto; font: 1em/1.6 var(--font); } 12 | h1 { font: 100 2.5em var(--font); } h2 { font: 100 2.2em var(--font); } h3 { font: 100 2em var(--font); } 13 | h4 { font: 100 1.5em var(--font); } h5 { font: 100 1.2em var(--font); } h6 { font: 100 1em var(--font); } 14 | a { color: var(--primary-color); text-decoration: none; } 15 | .btn.primary { color: white; background: var(--primary-color); border: solid var(--primary-color); } 16 | td, th { padding: 1em; text-align: left; border-bottom: solid var(--light); } 17 | .btn { padding: 1em; text-transform: uppercase; background: white; border: solid; font: .7em var(--font); } 18 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/_/js/conf.js: -------------------------------------------------------------------------------- 1 | // Searchlab Apps Settings 2 | // 3 | // Modify these settings according to the location of your Searchlab or Yacy instance. 4 | // Because Searchlab and YaCy ("YaCy P2p", "Legacy YaCy") have the same API endpoints (just at different paths) 5 | // it is possible to run the Searchlab Apps also against a YaCy P2P instance. 6 | // This applies also for YaCy Grid. 7 | 8 | var host = "https://searchlab.eu/"; 9 | //var host = "http://localhost:8400/"; 10 | 11 | // the user must be overwritten with the current user 12 | var user = "en"; 13 | 14 | // parse the location url to overwrite the user id 15 | var path = window.location.pathname.split("/"); 16 | if (path.length > 2 && !isNaN(path[1])) user = path[1]; 17 | 18 | // ### Search API 19 | // ## Searchlab Paths 20 | var search_api = host + user + "/api/yacysearch.json"; 21 | 22 | // ## YaCy Grid Paths 23 | //var search_api = "http://searchlab.eu/yacy/grid/mcp/index/yacysearch.json"; 24 | 25 | // ## YaCy P2P Paths 26 | //var search_api = "http://localhost:8090/yacysearch.json"; 27 | 28 | // ### Index API 29 | // ## Searchlab Paths 30 | var index_api = host + user + "/api/index.json"; 31 | 32 | // Suggest API 33 | // ## Searchlab Paths 34 | var suggest_api = host + user + "/api/suggest.json"; 35 | 36 | // ## YaCy Grid Paths 37 | //var suggest_api = "http://searchlab.eu/yacy/grid/mcp/index/suggest.json"; 38 | 39 | // ## YaCy P2P Paths 40 | //var suggest_api = "http://localhost:8090/suggest.json"; 41 | 42 | 43 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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}} -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/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 | } -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | } -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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="../_/img/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/css/dashboard.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Base structure 3 | */ 4 | 5 | /* Move down content because we have a fixed navbar that is 50px tall */ 6 | body { 7 | padding-top: 50px; 8 | } 9 | 10 | 11 | /* 12 | * Global add-ons 13 | */ 14 | 15 | .sub-header { 16 | padding-bottom: 10px; 17 | border-bottom: 1px solid #eee; 18 | } 19 | 20 | /* 21 | * Top navigation 22 | * Hide default border to remove 1px line. 23 | */ 24 | .navbar-fixed-top { 25 | border: 0; 26 | } 27 | 28 | /* 29 | * Sidebar 30 | */ 31 | 32 | /* Hide for mobile, show later */ 33 | .sidebar { 34 | display: none; 35 | } 36 | @media (min-width: 768px) { 37 | .sidebar { 38 | position: fixed; 39 | top: 51px; 40 | bottom: 0; 41 | left: 0; 42 | z-index: 1000; 43 | display: block; 44 | padding: 20px; 45 | overflow-x: hidden; 46 | overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */ 47 | background-color: #f5f5f5; 48 | border-right: 1px solid #eee; 49 | } 50 | } 51 | 52 | /* Sidebar navigation */ 53 | .nav-sidebar { 54 | margin-right: -21px; /* 20px padding + 1px border */ 55 | margin-bottom: 20px; 56 | margin-left: -20px; 57 | } 58 | .nav-sidebar > li > a { 59 | padding-right: 20px; 60 | padding-left: 20px; 61 | } 62 | .nav-sidebar > .active > a, 63 | .nav-sidebar > .active > a:hover, 64 | .nav-sidebar > .active > a:focus { 65 | color: #fff; 66 | background-color: #428bca; 67 | } 68 | 69 | 70 | /* 71 | * Main content 72 | */ 73 | 74 | .main { 75 | padding: 20px; 76 | } 77 | @media (min-width: 768px) { 78 | .main { 79 | padding-right: 40px; 80 | padding-left: 40px; 81 | } 82 | } 83 | .main .page-header { 84 | margin-top: 0; 85 | } 86 | 87 | 88 | /* 89 | * Placeholder dashboard ideas 90 | */ 91 | 92 | .placeholders { 93 | margin-bottom: 30px; 94 | text-align: center; 95 | } 96 | .placeholders h4 { 97 | margin-bottom: 0; 98 | } 99 | .placeholder { 100 | margin-bottom: 20px; 101 | } 102 | .placeholder img { 103 | display: inline-block; 104 | border-radius: 50%; 105 | } 106 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | })(); -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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%}} -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/bootstrap/js/html5shiv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/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 | searchform(); 44 | document.writeln("
"); 45 | } 46 | 47 | function searchform() { 48 | document.writeln("
"); 49 | document.writeln(""); 50 | document.writeln(""); 51 | document.writeln("
"); 52 | } 53 | 54 | function footer() { 55 | 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)

"); 56 | } 57 | 58 | if (top != self) top.location.replace(location); // this will remove the google translate header if this page is rendered with the google translator 59 | 60 | window.onscroll = function() { 61 | var footer = document.getElementById('footer'); 62 | if (footer) { 63 | footer.style.position = 'fixed'; 64 | footer.style.bottom = '0'; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/js/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 | searchform(); 44 | document.writeln("
"); 45 | } 46 | 47 | function searchform() { 48 | document.writeln("
"); 49 | document.writeln(""); 50 | document.writeln(""); 51 | document.writeln("
"); 52 | } 53 | 54 | function footer() { 55 | 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)

"); 56 | } 57 | 58 | if (top != self) top.location.replace(location); // this will remove the google translate header if this page is rendered with the google translator 59 | 60 | window.onscroll = function() { 61 | var footer = document.getElementById('footer'); 62 | if (footer) { 63 | footer.style.position = 'fixed'; 64 | footer.style.bottom = '0'; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/css/bootstrap-base.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Base bootstrap structure, this should become part of base.css later 3 | */ 4 | 5 | /* Move down content because we have a fixed navbar that is 50px tall */ 6 | body { 7 | padding-top: 57px; 8 | } 9 | 10 | /* 11 | * Top navigation 12 | * Hide default border to remove 1px line. 13 | */ 14 | .navbar-fixed-top { 15 | border: 0; 16 | } 17 | 18 | /* 19 | * Sidebar 20 | */ 21 | 22 | /* Hide for mobile, show later */ 23 | .sidebar { 24 | display: none; 25 | margin-top: -14px; 26 | } 27 | @media (min-width: 768px) { 28 | .sidebar { 29 | position: fixed; 30 | top: 51px; 31 | bottom: 0; 32 | left: 0; 33 | z-index: 1000; 34 | display: block; 35 | padding: 20px; 36 | overflow-x: hidden; 37 | overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */ 38 | } 39 | } 40 | 41 | /* Sidebar navigation */ 42 | .nav-sidebar { 43 | margin-right: -21px; /* 20px padding + 1px border */ 44 | margin-bottom: 10px; 45 | margin-left: -20px; 46 | } 47 | .nav-sidebar > li > a { 48 | padding-right: 10px; 49 | padding-left: 16px; 50 | padding-top: 0px; 51 | padding-bottom: 0px; 52 | } 53 | .nav-sidebar > li { 54 | padding: 0px; 55 | margin-left: 6px; 56 | margin-right: 6px; 57 | } 58 | .nav-sidebar > .active > a, 59 | .nav-sidebar > .active > a:hover, 60 | .nav-sidebar > .active > a:focus { 61 | color: #fff; 62 | background-color: #428bca; 63 | } 64 | .nav-sidebar h3 { 65 | padding-right: 10px; 66 | padding-left: 16px; 67 | padding-top: 4px; 68 | padding-bottom: 1px; 69 | margin: 0px; 70 | font-size: 14px; 71 | } 72 | .navbar-header a:link, .navbar-collapse a:link { 73 | text-decoration:none; 74 | } 75 | .navbar-right { 76 | padding-right:20px; 77 | font-size: 14px; 78 | } 79 | legend { 80 | width: auto; 81 | margin: 0px; 82 | line-height: 16px; 83 | border: 0; 84 | } 85 | label { 86 | font-weight:normal; 87 | padding-left:6px; 88 | } 89 | ul.nav li.dropdown:hover ul.dropdown-menu{ 90 | display: block; 91 | margin-top:0px 92 | } 93 | 94 | /* 95 | * typeahead 96 | * sets the following classes: 97 | * twitter-typeahead, tt-dropdown-menu, tt-dataset-%CLASS%, tt-suggestions, tt-suggestion 98 | * tt-hint, tt-input, tt-cursor 99 | */ 100 | 101 | .tt-dropdown-menu { 102 | width: 396px; 103 | margin-top: 4px; 104 | padding: 4px 0; 105 | background-color: #f8f8f8; 106 | border: 1px solid #ccc; 107 | } 108 | 109 | .tt-suggestion { 110 | padding: 3px 10px; 111 | font-size: 16px; 112 | } 113 | 114 | .tt-suggestion.tt-cursor { 115 | color: #fff; 116 | background-color: #428bca; 117 | } 118 | 119 | .tt-suggestion p { 120 | margin: 0; 121 | } 122 | .popover { 123 | z-index: 1600; 124 | } 125 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Searchlab Apps 2 | 3 | 4 | ## What is this? 5 | If you ever asked "How can I integrate a search function in my web page" then 6 | this repository is for you. 7 | 8 | This is a collection of Search Widgets and Dashboards that can be used 9 | with the Searchlab at https://searchlab.eu and in your own web pages. 10 | 11 | Most of these apps are also usable with YaCy because the searchlab implements 12 | the exact same search API as YaCy. Just change the API endpoint in 13 | https://github.com/yacy/searchlab_apps/blob/main/htdocs/app/_/js/conf.js 14 | 15 | For an instant demo of these search apps just go to https://searchlab.eu 16 | and click on "Apps". 17 | 18 | ## Hacking 19 | This is very easy! 20 | 21 | If you want to develop your own search apps, you can easily modify/extend 22 | any of the given app. We recommend to start with the `websearch_lit` app, 23 | just make a copy of it! 24 | 25 | To start hacking, just clone this repository and open any of the `index.html` 26 | files within the app project inside the `htdocs/app/` folder. 27 | 28 | Each of those apps should work fine without hosting the html pages with 29 | a web server. Just open the corresponding `index.html` in your browser for 30 | testing. 31 | 32 | ## Contributing Your Own Apps 33 | If you like please give us a pull request with your new app! 34 | We love to extend the searchlab apps with community-created content. 35 | 36 | To do so, please.. 37 | - Create a new subfolder within `htdocs/app/` with the name of your app 38 | - Create a app.json and fill it with an app description using at least 39 | the same fields as used in `htdocs/app/websearch_lit/app.json`. 40 | The app.json is used within https://searchlab.eu to show a proper visualization 41 | of your app. 42 | - You must create a `index.html` file within your app folder. 43 | - You must create a `screenshot.png` file with the exact size of 1024x1024. 44 | The image should not contain any transparency and it should show a mostly 45 | proper screenshot of your app when it is producing something useful for the user. 46 | - You can use all `css` and `js` code as given in `htdocs/app/_/css` and `htdocs/app/_/js`, 47 | but you *MUST NOT* add any files to those directories. If you need any other 48 | `css` and `js` code, please link them directly from the internet or add those 49 | to your app folder in a separate `css`/`js`-path within your app folder. 50 | - Your App must be published under the CC0 license. 51 | - Make a pull request where only files within your app folder is added/modified, 52 | not anything else. 53 | 54 | Everything that is merged to this repository will be pushed to https://searchlab.eu 55 | and can then be used there. 56 | 57 | ## Installation 58 | There are several options to install these apps: 59 | - For Searchlab development and/or packaging, clone this repository aside the 60 | repository of searchlab. The build process will expect that the searchlab_apps 61 | path is in parallel. 62 | - For integration of single apps inside your own web pages, just copy the 63 | corresponding app inside your own content. Because of the CC0 license you don't 64 | need to mention the source, just go ahead and use what you can find here. 65 | You will probably need to integrate `css` and `js` code from the `htdocs/app/_/css` 66 | and `htdocs/app/_/js` as well. 67 | - To use your own search server, run a searchlab instance and modify the path 68 | to your instance in `htdocs/app/_/js/config.js`. 69 | 70 | ## Support this project! 71 | Please become a Searchlab patron by joining us at 72 | https://www.patreon.com/orbiterlab 73 | 74 | ## Get Support from the Searchlab Community 75 | You can ask for help and discuss other search engine related topics 76 | at https://community.searchlab.eu 77 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/snippetlines/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Searchlab Search Template 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |

Snippet Lines

17 | 18 |
19 |   20 | 21 | 22 |
23 | 24 | 25 | 31 |
32 | 33 | 34 | 41 | 42 |
43 | 44 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /htdocs/app/rawindex/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Raw Index Retrieval 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |

Raw Index Retrieval

17 | 18 |
19 |   20 | 21 | 22 |
23 | 24 | 25 | 36 |
37 | 38 | 39 | 46 | 47 |
48 | 49 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/bootstrap/js/respond.min.js: -------------------------------------------------------------------------------- 1 | /*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl 2 | * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT 3 | * */ 4 | 5 | !function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b 2 | 3 | 4 | 5 | 6 | Searchlab Search Template 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 |

Searchlab / Search Template

17 | 18 |
19 |   20 | 21 | 22 |
23 | 24 | 25 | 35 |
36 | 37 | 38 | 45 | 46 | Get a personalized search from searchlab.eu 47 |
48 | 49 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/facetpiechart/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Searchlab Search Template 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |

Searchlab.eu / Document Facet Pie Charts

22 | 23 |
24 |   25 | 26 | 27 |
28 | 29 |
30 | 31 | 32 | 33 |
FiletypesAuthorsProviders
34 |
35 |
36 | 37 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | } -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/css/style.css: -------------------------------------------------------------------------------- 1 | /* Skin */ 2 | 3 | body { 4 | background-color:#FFFFFF; 5 | color:#18294A; 6 | } 7 | 8 | a:link { 9 | color:#18294A; 10 | background-color:transparent; 11 | } 12 | 13 | a:visited { 14 | color:#18294A; 15 | background-color:transparent; 16 | } 17 | 18 | a:hover { 19 | color: #5cb85c; 20 | background-color:transparent; 21 | } 22 | 23 | /* Menu */ 24 | 25 | .menugroup h3 { 26 | -webkit-border-top-left-radius: 5px; 27 | -webkit-border-top-right-radius: 5px; 28 | -khtml-border-top-left-radius: 5px; 29 | -khtml-border-top-right-radius: 5px; 30 | -moz-border-radius-topleft: 5px; 31 | -moz-border-radius-topright: 5px; 32 | border-top-left-radius: 5px; 33 | border-top-right-radius: 5px; 34 | 35 | background-color: #84B3DE; 36 | color:white; 37 | } 38 | 39 | .SubMenugroup h3, .SubMenu h3 { 40 | -webkit-border-radius: 5px; 41 | -khtml-border-radius: 5px; 42 | -moz-border-radius: 5px; 43 | border-radius: 5px; 44 | 45 | background-color: #84B3DE; 46 | color:white; 47 | } 48 | 49 | a.MenuItemLink, ul.SubMenu em { 50 | background-color: #eeeeee; 51 | } 52 | 53 | /* Head */ 54 | 55 | div.head h1 { 56 | background-color:transparent; 57 | text-align:left; 58 | padding-left:70px; 59 | color:#18294A; 60 | } 61 | 62 | /* Tables */ 63 | 64 | table { 65 | } 66 | 67 | .TableHeader { 68 | background-color: #5cb85c; 69 | color:white; 70 | } 71 | 72 | .TableCellDark { 73 | background-color: #dddddd; 74 | } 75 | 76 | .TableCellLight { 77 | background-color: #f8f8f8; 78 | } 79 | 80 | .TableCellDark:target, .TableCellLight:target { 81 | background-color: #F2DEDE; 82 | } 83 | 84 | .TableCellSummary { 85 | background-color: #F2DEDE; 86 | } 87 | 88 | .TableCellActive { 89 | background-color: #ffbbaa; 90 | } 91 | 92 | /* Blog and Wiki*/ 93 | 94 | .Post { 95 | background-color:#eee; 96 | } 97 | 98 | .PostSubject { 99 | background-color:#8aa; 100 | } 101 | 102 | .PostSubject a { 103 | color:#18294A; 104 | } 105 | 106 | .PostInfo { 107 | background-color:#bdcdd4; 108 | } 109 | 110 | /* Wiki */ 111 | 112 | .WikiTOCBox { 113 | border: 1px solid #aaa; 114 | background-color: #FFFFFF; 115 | } 116 | 117 | a.unknown { 118 | color:#990000; 119 | } 120 | 121 | a.known { 122 | color:#009900; 123 | } 124 | 125 | a.extern { 126 | color:#000099; 127 | } 128 | 129 | /* in Bookmarks */ 130 | 131 | .bookmark { 132 | border-bottom:1px #000 dashed; 133 | } 134 | 135 | a.bookmarkTitle { 136 | color: #84B3DE; 137 | } 138 | 139 | a:hover.bookmarkTitle { 140 | color: #84B3DE; 141 | } 142 | 143 | a.bookmarkTags { 144 | color: #007050; 145 | } 146 | 147 | a:hover.bookmarkTags { 148 | color: #84B3DE; 149 | } 150 | 151 | a.bookmarkAction { 152 | color: #84B3DE; 153 | } 154 | 155 | .Tags { 156 | border-left: 2px solid #18294A; 157 | } 158 | 159 | .diff { background-color: #E8E8EE; } 160 | .diff .unchanged { color: #333; } 161 | .diff .added { color: #090; background-color: #B5F0B5; } 162 | .diff .deleted { color: #B00; background-color: #F9B5B5; } 163 | 164 | /* in Status.html */ 165 | 166 | .ProgressBar { 167 | border: #FFFFFF solid 1px; 168 | } 169 | div.ProgressBarFill { 170 | background-color:#eeeeee; 171 | } 172 | 173 | /* Searchresults */ 174 | 175 | fieldset.maininput, fieldset.yacys { 176 | background-color:#eeeeee; 177 | -webkit-border-radius: 5px; 178 | -khtml-border-radius: 5px; 179 | -moz-border-radius: 5px; 180 | border-radius: 5px; 181 | } 182 | 183 | form.search.small h2 { 184 | border-bottom:1px solid #CAD5E3; 185 | } 186 | 187 | .searchresults { 188 | /*border-top:1px #000 dashed;*/ 189 | } 190 | 191 | .searchresults h4 a { 192 | font-size:1.2em; 193 | font-weight:bold; 194 | text-decoration:none; 195 | color:#1c65ba; 196 | } 197 | .searchresults h4 a:hover { 198 | font-weight:bold; 199 | text-decoration:underline; 200 | color:#1c65ba; 201 | } 202 | 203 | .snippetLoaded strong { 204 | color:black; 205 | } 206 | 207 | .searchresults .url a { 208 | text-decoration:none; 209 | color:#3c7a3c; 210 | } 211 | .searchresults .url a:hover { 212 | text-decoration:underline; 213 | color:#3c7a3c; 214 | } 215 | 216 | 217 | /* other */ 218 | 219 | .settingsValue { 220 | color:#556699; 221 | } 222 | 223 | .Headline { 224 | background-color: #84B3DE; 225 | color: white; 226 | } 227 | 228 | .Heading { 229 | background-color: #84B3DE; 230 | } 231 | 232 | .error, .warning { 233 | color:red; 234 | } 235 | 236 | .success { 237 | color:green; 238 | } 239 | 240 | .Message { 241 | background-color: #eeeeee; 242 | } 243 | 244 | .example { 245 | background-color:#D3D3D3; 246 | } 247 | 248 | .hides:hover .hoverShow { background-color: #FFFFFF; } 249 | 250 | /* Log */ 251 | 252 | body#ViewLog pre { 253 | background-color:white; 254 | } 255 | 256 | /* Forms */ 257 | 258 | fieldset { 259 | background-color:#eeeeee; 260 | color:#18294A; 261 | border:0px solid #eeeeee; 262 | -webkit-border-radius: 5px; 263 | -khtml-border-radius: 5px; 264 | -moz-border-radius: 5px; 265 | border-radius: 5px; 266 | } 267 | 268 | /* input, select, textarea, button { 269 | color: black; 270 | background-color: white; 271 | } */ 272 | 273 | legend { 274 | background-color:#5cb85c; 275 | -webkit-border-radius: 5px; 276 | -khtml-border-radius: 5px; 277 | -moz-border-radius: 5px; 278 | border-radius: 5px; 279 | text-align:left; 280 | color:white; 281 | } 282 | 283 | legend a:link { 284 | color:white; 285 | } 286 | 287 | legend a:hover { 288 | color:white; 289 | } 290 | 291 | form dt, dl.pairs dt { 292 | background-color:#eeeeee; 293 | font-weight:bold; 294 | } 295 | 296 | form dd, dl.pairs dd { 297 | background-color:#eeeeee; 298 | } 299 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 |
109 |
110 |
111 |
112 |
113 |
114 | 117 |
118 |
119 | 120 |
121 |
122 |

 

123 |
124 |
125 |
126 |
127 |
128 |
129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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}} -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/usage.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | YaCy Search Portal 9 | 10 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 41 | 42 | 43 | 44 | 45 | 48 | 51 | 54 | 55 | 56 | 57 | 58 | 93 | 94 |
95 | 96 | 101 | 102 |

Run YaCy

103 |

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

104 | 105 |

Modify the YaCy Server Address

106 |

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.

107 | 108 |

Customize

109 |

The templates are listed in the top menu. The links to the templates are in yacysearch/navigation.js. 110 | 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.

111 |

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

112 |

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.

113 | 114 |

License: (CC-BY 2.0) and GPL2

115 |

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

116 |

If you use this design, please attribute with a link to searchpage_template_bootstrap.css (https://github.com/yacy/yacy_webclient_bootstrap), 117 | the bootstrap.css CSS Framework (http://getbootstrap.com) 118 | and YaCy (http://yacy.net) as given in the example template. 119 | You can of course modify the header, texts, icons, colours, styles and everything else as you like.

120 |
121 | 122 | 123 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | YaCy Search Portal 9 | 10 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 41 | 42 | 43 | 44 | 45 | 48 | 51 | 54 | 55 | 56 | 57 | 58 | 93 | 94 |
95 | 96 | 100 | 101 |

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

102 |

Search results are displayed using AJAX-technology from a Solr server which is embedded into YaCy. 103 | All search results must be provided by a YaCy search server which includes a Solr with a specialized JSON result writer. 104 | 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. 105 | To overcome the same orgin policy in JavaScript, the result is capsuled into a JSONP response. 106 | 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. 107 | We implemented a proper model view of search results using the MV*-Fra­me­work backbone.js. 108 |

109 |

Industry-Strength Search Efficiency

110 |

Because the search results come right from a Solr instance using a specialized result writer, these templates can provide industry-strength search portals. 111 | 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. 112 |

113 |

Standard Compliance

114 |

There are standards for search request queries (i.e. SRU) and search request responses (i.e. opensearch). 115 | 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. 116 | If you like, then you can also get search results from the same query url by replacing the "wt=yjson"-parameter by "wt=opensearch". 117 |

118 |

Beautiful CSS Framework

119 |

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

122 | 123 |
124 | 125 | 126 | -------------------------------------------------------------------------------- /htdocs/app/websearch_bootstrap/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 44 | 45 | 46 | 47 | 48 | 51 | 54 | 57 | 58 | 87 | 88 | 89 | 90 | 91 | 92 | 125 | 126 |
127 |
128 | 129 |

130 |

131 | 132 | 154 |
155 |
156 | 157 | 167 | 168 | 169 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | -------------------------------------------------------------------------------- /htdocs/app/websearch_yaml4/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 | --------------------------------------------------------------------------------