Forum:Memory-Alpha suche für Firefox
vieleicht können die Firefox User unter euch, dies gebrauchen--ShismaBitte korrigiert mich 11:03, 26. Jul. 2008 (UTC)
- Genial! Klasse Idee, das wird sich als praktisch erweisen. Vielen Dank! -- Plasmarelais Ξ TALK Ξ 21:59, 26. Jul. 2008 (UTC)
Ubiquity[Bearbeiten]
für Nutzer des neuen Firefox plugin Ubiquity (kann ich nur empfehlen) habe ich ein Script zum durchsuchen der Wikipedia geändert so das man mit dem befehl ma-de (suchwort)
die ma durchsuchen kann. um es nutzen zu können müsst ihr command-editor
eintippen und anschließend die Enter taste. In das Textfeld, das sich nun öffnet müsst ihr den folgenden Text kopieren:
CmdUtils.CreateCommand({
name: "ma-de",
takes: {search: noun_arb_text},
locale: "de-DE",
homepage: "http://theunfocused.net/moz/ubiquity/verbs/",
author: {name: "Blair McBride (Original), Shisma(Modifiecation)", email: "blair@theunfocused.net"},
license: "MPL",
icon: "http://images.wikia.com/memoryalpha/de/images/6/64/Favicon.ico",
description: "Durchsucht die Deutsche Memory-Alpha",
preview: function(previewBlock, directObject) {
var apiUrl = "http://memory-alpha.org/de/api.php";
var searchText = jQuery.trim(directObject.text);
if(searchText.length < 1) {
previewBlock.innerHTML = "Durchsucht Memory Alpha (deutsch)";
return;
}
var previewTemplate = "Durchsuche Memory Alpha nach <b>${query}</b> ...";
var previewData = {query: searchText};
previewBlock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);
var apiParams = {
format: "json",
action: "query",
list: "search",
srlimit: 5, // is this a good limit?
srwhat: "title",
srsearch: searchText
};
jQuery.ajax({
type: "GET",
url: apiUrl,
data: apiParams,
datatype: "string",
error: function() {
previewBlock.innerHTML = "Fehler beim suchen";
},
success: function(searchReponse) {
searchReponse = Utils.decodeJson(searchReponse);
if(!("query" in searchReponse && "search" in searchReponse.query)) {
previewBlock.innerHTML = "Fehler beim suchen";
return;
}
function generateWikipediaLink(title) {
var madeUrl = "http://memory-alpha.org/de/wiki/";
return madeUrl + title.replace(/ /g, "_");
}
previewData = {
query: searchText,
results: searchReponse.query.search,
_MODIFIERS: {wikilink: generateWikipediaLink}
};
previewBlock.innerHTML = CmdUtils.renderTemplate({file:"wikipedia.html"}, previewData);
jQuery(previewBlock).find("div[wikiarticle]").each(function() {
var article = jQuery(this).attr("wikiarticle");
fetchMemoryAlphaArticle(this, article);
});
}
});
},
execute: function(directObject) {
var searchUrl = "http://memory-alpha.org/de/wiki/Spezial:Suche";
var searchParams = {search: directObject.text};
Utils.openUrlInBrowser(searchUrl + Utils.paramsToString(searchParams));
}
});
function fetchMemoryAlphaArticle(previewBlock, articleTitle) {
/* TODO
- apply CSS max-height & overflow-y to summary container
*/
var apiUrl = "http://memory-alpha.org/de/api.php";
var apiParams = {
format: "json",
action: "parse",
page: articleTitle
};
jQuery.ajax({
type: "GET",
url: apiUrl,
data: apiParams,
datatype: "string",
error: function() {
previewBlock.innerHTML = "<i>Error retreiving summary.</i>";
},
success: function(responseData) {
responseData = Utils.decodeJson(responseData);
var tempElement = CmdUtils.getHiddenWindow().document.createElementNS("http://www.w3.org/1999/xhtml", "div");
tempElement.innerHTML = responseData.parse.text["*"];
//take only the text from summary because links won't work either way
var articleSummary = jQuery(tempElement).find('p').eq(0).text();
//remove citations [3], [citation needed], etc.
//TODO: also remove audio links (.audiolink & .audiolinkinfo)
articleSummary = articleSummary.replace(/\[([^\]]+)\]/g,"");
//TODO: remove "may refer to" summaries
var articleImageSrc = jQuery(tempElement).find(".wiki-sidebar img").attr("src") ||
jQuery(tempElement).find(".thumbimage").attr("src");
var previewTemplate = "<img src=\"${img}\" style=\"float: right; max-width: 80px;background-color: black; margin-left:1em;\" />" +
"<span class=\"wikisummary\">${summary}</span>";
var previewData = {
img: articleImageSrc,
summary: articleSummary
};
previewBlock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData);
}
});
}
viel Spaß damit--ShismaBitte korrigiert mich 21:30, 4. Sep. 2008 (UTC)
- ich habe gerade bemerkt das die live vorschau seit version 0.1.2 nicht mehr funktioniert. ich würde den befehl überarbeiten wenn nachfrage besteht :/--ShismaBitte korrigiert mich 23:09, 25. Nov. 2008 (UTC)