 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Tuncay
Anmeldedatum: 28.10.2006 Beiträge: 127 Wohnort: Berlin
|
Verfasst am: So Feb 10, 2008 8:44 pm Titel: AutoHotkey Script Collection (XML+DTD+XSLT=HTML+CSS+JS) |
|
|
(naja, von richtiger Doku kann ja noch nicht die Rede sein^^)
Die Absicht
Seit nun einiger Zeit überlege ich mir eine komplette Sammlung von für mich interessanten Skripts als downloadbares Archiv anzubieten. Mal abgesehen von rechtlichen Problemen (falls jemand was dagegen hätte), weis ich noch nicht so ganz genau welcher Weg der richtige ist.
Der Weg mit XML
Denn, so wie ich es mir überlegt habe, sollte die Sammlung gleich mit einer semantischen XML Datei daher kommen, als Datenbank sozusagen. Diese beschreibt dann die Skript-Projekte und dient als Grundlage für alles weitere. Jedes weitere Programm könnte "seine Art" zur Darstellung der Daten benutzen.
Gesagt getan. Ich habe mir eine "Sprache" in XML erstellt, das diese Anforderungen erfüllen sollte. Sie kommt gleich mit einer DTD daher und XSL Stylesheet und tralala ... Es ist noch in einem jungen Stadium und daher könnte sich das Format drastisch ändern. Getestet habe ich es mit Firefox 2 und dem Internet Explorer 6 und die XML mit einer zugehörigen DTD gleich noch auf Gültigkeit geprüft.
Ein Eintrag könnte zum Beispiel so aussehen (beinhaltet nicht alle Elemente und Attribute):
| Zitat: | <script
id="GUID_5CBE2FFA-7353-4224-9EB1-903950DD628C"
added="2008-02-08">
<source url="src/xpath.zip" />
<title>XPath</title>
<description>
<p>Read and write XML documents with XPath syntax.</p>
<p>A simple and easy set of functions for parsing XML content with xpath including save and load routines. Extremely fast and lightweight for AutoHotkey; nodes and attributes can be created and removed directly within your expressions without DOM traversal!</p>
</description>
<keywords>xml, xpath, html</keywords>
<version revision="3.12" date="2008-01-29" />
<author>Titan</author>
<license url="http://www.gnu.org/licenses/gpl-3.0.txt">GNU GPL v3</license>
<classify type="Library" category="FileSystem" />
<conform standalone="yes" stdlib="yes" />
<links>
<link url="http://www.autohotkey.com/forum/viewtopic.php?t=17549" lang="en">Discussion</link>
</links>
<example><c>; load an XML document</c>
xml := xpath_load("books.xml")
<c>; get book titles with a cost greater than 35</c>
titles := xpath(xml, "/bookstore/books[price>35]/title/text()")</example>
</script> |
Was haltet ihr davon?
Hat jemand irgendwelche Ideen, Vorschläge oder Meinungen dazu? Was haltet ihr eigentlich davon? Ist es praktikabel? Lohnt sich der Aufwand? _________________ Manchmal ist es /falsch/ das "richtige" zu tun.
Zuletzt bearbeitet von Tuncay am Do Feb 28, 2008 11:56 pm, insgesamt 7-mal bearbeitet |
|
| Nach oben |
|
 |
BoBo¨ Gast
|
Verfasst am: So Feb 10, 2008 9:03 pm Titel: |
|
|
| Als online Schrifttyp würde ich eine serifenlose Schrift verwenden. |
|
| Nach oben |
|
 |
Tuncay
Anmeldedatum: 28.10.2006 Beiträge: 127 Wohnort: Berlin
|
Verfasst am: So Feb 10, 2008 9:10 pm Titel: |
|
|
Das wärde eh werde ... ich beim nächsten mal ändern. Serifen sind auf Bildschirm schlecht lesbar. Danke für den Tipp.
Mich interessieren im Moment allerdings mehr das Herzstück wegen der XML Datei. Ist dieses Konzept sinnvoll? Was spricht dagegen und was dafür? _________________ Manchmal ist es /falsch/ das "richtige" zu tun. |
|
| Nach oben |
|
 |
Chucky
Anmeldedatum: 07.01.2006 Beiträge: 576 Wohnort: Powerland
|
Verfasst am: Mo Feb 11, 2008 10:57 pm Titel: |
|
|
Hallo Tuncay,
Form folgt Funktion, sieht aus wie der Anfang von etwas Größerem. Aber mir ist nicht so klar, was das Größere ist.
Wenn es nur eine Auflistung von Scripts mit Eigenschaften sein soll, reicht eine INI-Datei. Falls Du verschachteln willst, ist XML besser.
Ist es auch für andere oder nur für Dich? Was willst Du damit machen - soll es nur die Eigenschaften Deiner Scripts einheitlich beschreiben, soll etwas daraus generiert werden?
Vor einem halben Jahr habe ich mal mit AGermanUser überlegt, ob und wie man nützliche User-Scripts einheitlich (= übersichtlich) veröffentlichen könnte. Zur Diskussion standen das Wiki und die Foren (unter AGermanUsers Fittichen) und der deutsche Server mit diversen Webseiten (ichse michse).
Die Struktur, die Du vorschlägst, könnte man hier z. B. zur Generierung von Listen, Seiten, Wiki-Einträgen o. ä. verwenden.
(Wir haben es damals auf Eis gelegt, um den allgemeinen Eifer bei der Übersetzung der AHK-Hilfe nicht zu bremsen. )
Dazu bräuchte man dann auch einen Editor, der diese Struktur unterstützt.
__________________________________________
Created with BBCodeWriter 7.0 - the one and only  |
|
| Nach oben |
|
 |
Tuncay
Anmeldedatum: 28.10.2006 Beiträge: 127 Wohnort: Berlin
|
Verfasst am: Di Feb 12, 2008 12:04 am Titel: |
|
|
Ha mal kleinen Update gemacht. Korrekturen in allen Dateien vorgenommen, in der Struktur und die Mini Dokumentation etwas aufgefrischt.
Erstmal halte ich von INI Dateien nicht viel. Hab mich in XML verliebt.
Was ich damit eigentlich erreichen möchte, ist eine Sammlung der besseren Skripte zu erstellen, die allesamt dokumentiert und mit Eigenschaften (passendes Wort, danke) versehen werden sollen. Die XML Datenbank könnte zum Beispiel als Grundlage für die Verwendung in ganz verschiedenen Scenarien genutzt werden.
Diese Sammlung soll zudem die Aufgabe haben, als Archiv downloadbar zur Verfügung zu stehen. Vorstellbar wäre für mich auch die Distribution in PC Zeitschriften und so weiter (man darf ja wohl noch Träumen dürfen^^). _________________ Manchmal ist es /falsch/ das "richtige" zu tun. |
|
| Nach oben |
|
 |
Chucky
Anmeldedatum: 07.01.2006 Beiträge: 576 Wohnort: Powerland
|
Verfasst am: Di Feb 12, 2008 7:49 am Titel: |
|
|
| Tuncay hat Folgendes geschrieben: | Erstmal halte ich von INI Dateien nicht viel. Hab mich in XML verliebt.  | Die 3. Frage meines 2. Absatzes hatte ich kurz vorm Posten pietätvoll gelöscht:
"Ist es eine willkommene Aufgabe, um in XML einzusteigen?"
Hey, ich sehe gerade: Über 20000 Postings!!!! |
|
| Nach oben |
|
 |
Tuncay
Anmeldedatum: 28.10.2006 Beiträge: 127 Wohnort: Berlin
|
Verfasst am: Fr Feb 15, 2008 9:53 pm Titel: |
|
|
| Zitat: | | Ist es eine willkommene Aufgabe, um in XML einzusteigen? |
Ich kann mich schon seit längerem für XML begeistern. Jetzt hier die Gründe auf zu listen, würde zu weit gehen. Ich denke, das nur eine benutzerdefinierte Sprache diesen Zweck am besten erfüllen würde.
| Zitat: | | Die Struktur, die Du vorschlägst, könnte man hier z. B. zur Generierung von Listen, Seiten, Wiki-Einträgen o. ä. verwenden. |
So etwas strebe ich auch an. Zugleich kann der Nutzer die Daten mit einem (von uns) geschriebenem Skript auch offline auswerten.
Noch etwas, vielleicht ist es dir noch nicht aufgefallen. Alle referenzierten Skripten sind bereits fertig gedownloaded und stehen lokal zur Verfügung (im Archiv).
| Zitat: | (Wir haben es damals auf Eis gelegt, um den allgemeinen Eifer bei der Übersetzung der AHK-Hilfe nicht zu bremsen. ) |
Ich wäre an diesen Dateien und Ideen interessiert. Ist es möglich, das ihr mal diese hier postet oder per m rüberreicht?
| Zitat: | | Dazu bräuchte man dann auch einen Editor, der diese Struktur unterstützt. |
Zur Zeit bearbeite ich es mit einem normalem Text Editor ("Vim" um genau zu sein).
Diese neue Version ist der DTD entsprechend endlich gültig. Alle notwendigen Korrekturen in der XML, XSL und der DTD Dateien sind vorgenommen. Die Entwicklung der Sprache ist vorübergehend abgeschlossen (Version: Candidate 1.0). Von nun an kann sich nur noch das Äußere Erscheinungsbild mit den Stylsheets ändern, da diese nichts mit der eigentlichen Sprache (ahkml) zu tun haben.
Die von mir entwickelte Sprache nennt sich hier sinnigerweise "AutoHotkey Meta Language" (kurz "ahkml"), welche der Beschreibung der Skripte dient. Hierzu werden den Skripten Eigenschaften vergeben, wie zum Beispiel der Typ "Application" (Anwendung) oder "Library" (Bibliothek an Funktionen).
Bevor ich eine neue Version hochlade, überprüfe ich mit dem speziellem Programm "AltovaXML" auf Gültigkeit und anschließend mit Firefox 2 und dem Internet Explorer 6 auf allgemeine korrekte Darstellung mit den Stylesheets. Eine -vernünftige- vollständige Dokumentation wie das Format aufgebaut ist, welche Inhalte erwartet werden und welche ausgelassen werden können, wird noch folgen.
Dennoch bin ich Änderungen gegenüber noch offen und würde mich sogar auf eine komplette Umstrukturierung einlassen, bevor es zu spät ist. In dieser neuen Version habe ich zudem ein Lizenztext in englisch verfasst; falls jemand von euch des englischen mächtig ist, würde ich mich um eine Überprüfung freuen.
Falls du der Meinung bist, das ein bestimmtes Skript unbedingt hier in dieser Sammlung aufgenommen werden sollte, dann würde ich mich um einen Vorschlag freuen. Ich überprüfe das Skript kurz und wenn ich es für in Ordnung befinde, kommt es anschließend in die Sammlung. Es muss allerdings unbedingt Englischsprachig sein und sollte eine gewisse Stabilität und Originalität aufweisen; sonst lohnt sich das nicht.
Die Inhalte sind nach dem Eintrag jedoch nicht fest, d. h. Änderungen sind weiterhin noch möglich. Nur die ID bleibt die gleiche. Einträge sollten sogar immer weiter verbessert werden. Falls falsche Informationen enthalten sind, würde ich mich um Korrigierungen freuen. _________________ Manchmal ist es /falsch/ das "richtige" zu tun. |
|
| Nach oben |
|
 |
Tuncay
Anmeldedatum: 28.10.2006 Beiträge: 127 Wohnort: Berlin
|
Verfasst am: Sa Feb 16, 2008 9:45 pm Titel: |
|
|
Einige Skripte hinzugefügt und ein Feature implementiert, das die zuletzt hinzugefügten Skripte automatisch als "New" markiert. Ich merke das es gar nicht immer so einfach ist zu entscheiden welcher Kategorie ein Skript angehört. Wäre für Vorschläge hierzu sehr dankbar. Blöd ist auch, das einige Entwickler keine Versionsnummer oder Datum vergeben. Beim Datum bedien ich mich, falls nicht explicit angegeben ist, soweit es geht am Datum des Postings. _________________ Manchmal ist es /falsch/ das "richtige" zu tun. |
|
| Nach oben |
|
 |
Chucky
Anmeldedatum: 07.01.2006 Beiträge: 576 Wohnort: Powerland
|
Verfasst am: Mo Feb 18, 2008 7:58 pm Titel: |
|
|
Ich habe mir Deine Datenbank mal genauer - aber noch nicht genau genug - angesehen und muß sagen:
RESCHPECKT
Gut durchdacht und strukturiert aufgebaut. Von XML kannte ich bisher nur die XML-Dateien, aber was Du da ausgearbeitet hast, macht Lust auf mehr .
Was hast Du als Informationsquelle benutzt? Ich glaube, in Selfhtml gibt es einen Abschnitt darüber. ... Gerade habe ich nachgeguckt, jetzt weiß ich es, hier.
| Zitat: | | Dennoch bin ich Änderungen gegenüber noch offen und würde mich sogar auf eine komplette Umstrukturierung einlassen, bevor es zu spät ist. | Für den Grundgedanken "Sammlung von Scripts" ist die Struktur IMO in Ordnung.
| Zitat: | | Ich merke das es gar nicht immer so einfach ist zu entscheiden welcher Kategorie ein Skript angehört. Wäre für Vorschläge hierzu sehr dankbar. | Das Problem hat man fast immer, wenn man nach vielen Kategorien unterscheiden will. Auch Baumstrukturen mit hierarchischen Kategorien zwingen häufig zu einseitigen Sichtweisen.
Bei der Verwaltung meiner Scripts (immerhin ein paar hundert) erlaube ich jedem Script einfach mehrere Kategorien. Dann kann es - bei der Auflistung nach Kategorien - zwar häufiger angezeigt werden, ich finde die Scripts aber viel schneller, als wenn ich mich strukturbedingt auf nur eine Kategorie beschränken müßte.
__________________________________________
Created with BBCodeWriter 7.0 - the one and only  |
|
| Nach oben |
|
 |
BoBo¨ Gast
|
Verfasst am: Mo Feb 18, 2008 8:19 pm Titel: |
|
|
| Zitat: | | Dann kann es - bei der Auflistung nach Kategorien - zwar häufiger angezeigt werden, ich finde die Scripts aber viel schneller, als wenn ich mich strukturbedingt auf nur eine Kategorie beschränken müßte. | Nachvollziehbar. Und das schreit nach einer Referenzierung nach Schlagworten - sowas wie: AutoHotkey: Automatisierung/Skript/Programmierung/BoBofutter/... |
|
| Nach oben |
|
 |
Tuncay
Anmeldedatum: 28.10.2006 Beiträge: 127 Wohnort: Berlin
|
Verfasst am: Mo Feb 18, 2008 11:35 pm Titel: |
|
|
Bobo, apropos Schlagworte... es ist bereits ein Element <keywords> enthalten, das wie in HTML Komma separierte Schlüsselwörter angegeben werden können.
So hab mal ein wenig weiter ausgearbeitet und bin zum Entschluss gekommen, Bilder und Beispiel-Codes mit aufzunehmen. Natürlich nur dort, wo es Sinn macht. Guis schreien gerade zu nach Bilder und Funktionen nach einem beispielhaften Beispiel.
Danke Chucky.
Ja ich habe mich bei SelfHTML bedient und reicht fürs erste auch aus. Zwar hatte ich mal ein Buch dazu gelesen ... aber das ist schon ein Weilchen her und damals verstand ich nur Bahnhof.
Das tolle daran ist ja, das alle Daten auch ohne Konvertierung gleich aktuell verwertbar sind. Die DTD ist ja als Grundsicherung gedacht, damit das Format auch eingehalten werden tut. _________________ Manchmal ist es /falsch/ das "richtige" zu tun. |
|
| Nach oben |
|
 |
Tuncay
Anmeldedatum: 28.10.2006 Beiträge: 127 Wohnort: Berlin
|
Verfasst am: Mo Feb 25, 2008 9:49 pm Titel: |
|
|
Hab in letzter Zeit leider kaum Zeit gehabt die Sammlung zu erweitern. Wenn ich mehr Zeit (für insbesondere Online) habe, werde ich mal einen Großangriff starten, soviele gute Skripte wie nur irgendwie hier mit auf zunehmen.
So dieses Update beinhaltet:
- weitere Änderungen und Korrekturen im Dateiformat (XML mit DTD) vorgenommen
- die Ausgabe im Browser mit dem XSLT komplett überarbeitet, nun werden für jede Kategorie automatisch eine neue Liste hinzugefügt
- die zusätzliche Dokumentation zum ahkml-Format endlich vollständig geschrieben
Jetzt muss ich nur noch JavaScript lernen, um eine interne Suche und einen Filter zu programmieren. Ohweh... das wird schwieriger als ich dachte. Mal sehen ob ich das überhaupt kann.  _________________ Manchmal ist es /falsch/ das "richtige" zu tun. |
|
| Nach oben |
|
 |
Tuncay
Anmeldedatum: 28.10.2006 Beiträge: 127 Wohnort: Berlin
|
Verfasst am: Do Feb 28, 2008 9:46 pm Titel: |
|
|
Ich habe jetzt endlich mal einen Filter auf JavaScript Ebene eingebaut. Der Filter bewirkt, das verstecken von Skripten die nicht den Kriterien entsprechen. Das ganze entwickelte ich unter der Aufsicht mit Firefox und als ich dann später mit dem Internet Explorer testen wollte ... PUSTEKUCHEN!
Der IE 6 will bei mir einfach die XML Datei nicht anzeigen, wenn JavaScript verwendet wird. Ist es ein Fehler? Gibt es eine Möglichkeit das Problem zu beseitigen? Wenn nicht, war die ganze Arbeit praktisch umsonst (na gut, bezahlt hat mich dafür sowieso niemand). _________________ Manchmal ist es /falsch/ das "richtige" zu tun. |
|
| Nach oben |
|
 |
DerRaphael
Anmeldedatum: 09.01.2008 Beiträge: 576 Wohnort: Zuhause
|
Verfasst am: Do Feb 28, 2008 11:27 pm Titel: |
|
|
frage nach seperater xslt hat siche gerade erübrigt. hab dir dein script angeschaut. alle drei dateien. jedoch mich nicht en detail eingelesen um jetzt wirklich hilfreich was drüber sagen zu können. sorry
grüße
derRaphael _________________
|
|
| Nach oben |
|
 |
Chucky
Anmeldedatum: 07.01.2006 Beiträge: 576 Wohnort: Powerland
|
Verfasst am: Fr Feb 29, 2008 12:52 am Titel: |
|
|
| Tuncay hat Folgendes geschrieben: | | Der IE 6 will bei mir einfach die XML Datei nicht anzeigen, wenn JavaScript verwendet wird. Ist es ein Fehler? Gibt es eine Möglichkeit das Problem zu beseitigen? Wenn nicht, war die ganze Arbeit praktisch umsonst (na gut, bezahlt hat mich dafür sowieso niemand). | Mein IE6 zeigt sie an; bei der Benutzung des Filters kommt allerdings die Meldung "Fehler auf der Seite." . Das kann daran liegen, daß der IE nicht JavaScript, sondern JScript benutzt. Die sind zwar weitgehend gleich, unterscheiden sich aber in der Struktur der Dokument-Elemente (auf die Du ja in Deinem JavaScript zugreifst).
Bei Benutzung von JavaScript hätte MS Lizenzgebühren zahlen müssen, und das ist natürlich nicht Bills Stil. Also mußte mal wieder was Eigenes her. Toll. |
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|