|
|
(33 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | {{TOCright}}
| + | Has been moved to: http://blog.kr8.de/wiki-evernote/ |
− | EverNote ist einer der Kandidaten für mein [[Notizbuch]], das ich vom [[PDA]] bzw. [[MicrosoftOutlook]] ablösen wollte.
| |
− | | |
− | EverNote ist in der Grundversion kostenlos und verfügt auch über eine Importfunktion für Outlook-Notizen.
| |
− | | |
− | == Erfahrungen mit EverNote ==
| |
− | Eine Probephase mit EverNote erbrachte folgende Erkenntnisse:
| |
− | * Import der Outlook-Notizen hat gut funktioniert.
| |
− | * Auf dem PC konnte ich es gut nutzen, auf dem [[PDA]] habe ich keine Möglichkeit gefunden
| |
− | * Der Funktionsumfang ist für meine Anforderungen zu groß (Handschriftenerkennung, Einnisten in den [[WebBrowser]],...)
| |
− | * Die Benutzeroberfläche ist mir zu kompliziert, besonders, da ich diese Funktionen nur seltener benutze
| |
− | * Ich benötige das Ding nicht ständig - Minute für Minute, von früh bis spät - Nein, nur ein bis zwei Mal die Woche
| |
− | | |
− | == Schlussfolgerungen ==
| |
− | Ich versuche jetzt, meine [[Notizbuch]] als [[WebLog]] zu organisieren und über [[RSS]] auch auf den [[PDA]] zu kommen.
| |
− | | |
− | == Export in eine XML-Datei ==
| |
− | Die nun in EverNote vorhandenen Textnotizen können mit vollem Informationsgehalt in eine [[XML]]-Datei exportiert werden.
| |
− | | |
− | Auszugsweise sieht das so aus:
| |
− | <pre>
| |
− | <evernote>
| |
− | <notes>
| |
− | <note name="title" content_date="2005/03/30 15:30:45" created="2008/04/07 19:55:01" id="[FA1234-5678-45454554]">
| |
− | <content type="html">
| |
− | <div>...html content...</div>
| |
− | </content>
| |
− | <contentplain>
| |
− | ....plain ascii content
| |
− | </contentplain>
| |
− | </note>
| |
− | </notes>
| |
− | </evernote>
| |
− | </pre>
| |
− | | |
− | == Transformation nach Atom ==
| |
− | Hat man erst einmal die [[XML]]-Datei, steht die Welt offen, um mit Hilfe von [[XSLT]] diverse andere Formate zu erzeugen, z.B. für [[WordPress]] (über LiveJournal) oder [[Atom]] oder...
| |
− | | |
− | === XSL Transformation ===
| |
− | Für die Transformation in das [[Atom]]-Format habe ich ein [[XSLT]]-Sheet entwickelt. Zwei manuelle Nacharbeiten sind dann noch nötig:
| |
− | * EverNote liefert den formatierten Notizentext als komplettes [[HTML]]-Dokument. Im Atom wird nur ein '''<nowiki><DIV></nowiki> Container''' erwartet. Die überschüssige HTML habe ich manuell entfernt.
| |
− | * EverNote verwendet im formatierten Notizen Text "<nowiki><BR></nowiki>". Dies habe ich per [[FileEditing]] geändert in "<nowiki><br /></nowiki>"
| |
− | * Damit mein [[NewsfeedReader]] [[RssBandit]] dann auch den formatierten Notizentext anzeigt, musste ich letztlich dann noch den unformatierten Text (CONTENTPLAIN) ganz entfernen.
| |
− | | |
− | Die Datei '''Evernote2Atom.XSL''' sieht dann so aus:
| |
− | <pre>
| |
− | <?xml version="1.0" encoding="iso-8859-1"?>
| |
− | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/2005/Atom" version="1.0">
| |
− | <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" cdata-section-elements="content" />
| |
− | | |
− | <xsl:template match="/EVERNOTE">
| |
− | <xsl:text>
| |
− | </xsl:text><feed>
| |
− | <title>Notizbuch</title>
| |
− | <subtitle>Ehemalige Outlook-Notizen</subtitle>
| |
− | <link href="http://example.org/feed/" rel="self"/>
| |
− | <link href="http://example.org/"/>
| |
− | <xsl:variable name="D" select="@date" />
| |
− | <updated>
| |
− | <xsl:value-of select="concat(substring($D,1,4),'-',substring($D,6,2),'-',substring($D,9,2),'T',substring($D,12,8),'Z')" />
| |
− | </updated>
| |
− | <author>
| |
− | <name>Dietrich Kracht</name>
| |
− | <email>dietrich@kr8.de</email>
| |
− | </author>
| |
− | <id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
| |
− | <xsl:apply-templates select="//NOTE"/>
| |
− | </feed>
| |
− | </xsl:template>
| |
− |
| |
− | <xsl:template match="/EVERNOTE/NOTES/NOTE">
| |
− | <entry>
| |
− | <title>
| |
− | <xsl:value-of select="@name"/>
| |
− | </title>
| |
− | <link href="http://localhost/wordpress/?p=33"/>
| |
− | <id>
| |
− | <xsl:value-of select="@id" />
| |
− | </id>
| |
− | <xsl:variable name="D" select="@content_date" />
| |
− | <updated>
| |
− | <xsl:value-of select="concat(substring($D,1,4),'-',substring($D,6,2),'-',substring($D,9,2),'T',substring($D,12,8),'Z')" />
| |
− | </updated>
| |
− | <xsl:variable name="D" select="@created" />
| |
− | <published>
| |
− | <xsl:value-of select="concat(substring($D,1,4),'-',substring($D,6,2),'-',substring($D,9,2),'T',substring($D,12,8),'Z')" />
| |
− | </published>
| |
− | <category term="Notizbuch" />
| |
− | <author>
| |
− | <name>dkracht</name>
| |
− | </author>
| |
− | <content type="xhtml">
| |
− | <xsl:value-of select="CONTENT" />
| |
− | </content>
| |
− | <content2>
| |
− | <xsl:value-of select="CONTENTPLAIN"/>
| |
− | </content2>
| |
− | </entry>
| |
− | </xsl:template>
| |
− | </xsl:stylesheet>
| |
− | </pre>
| |
− | | |
− | '''Anmerkung: Damit die Sache mit den <i>cdata-section-elements</i> auch funktioniert, war es erforderlich den Namespace ganz oben in der zweiten Zeile anzugeben.'''
| |
− | | |
− | === Atom als Format ungeeignet ===
| |
− | Nun habe ich meine alten Textnotizen über EverNote und [[XSLT]] in ein schönes [[Atom]]-Format transformiert, leider vergebens, denn eigentlich niemend kann Atom importieren:
| |
− | * [[WordPress]] kann kein Atom importieren
| |
− | * [[Serendipity]] kann kein Atom importieren
| |
− | * '''Blogger.com''' kann kein Atom importieren
| |
− | | |
− | Konsequenz: Nun transformiere ich ein weiteres Mal und zwar jetzt in [[RSS]].
| |
− |
| |
− | == Transformation nach RSS ==
| |
− | Im Gegensatz zu [[Atom]] lässt sich [[RSS]] bestens importieren.
| |
− | | |
− | === RSS Testdatei ===
| |
− | Mit diesem kleinen (manuell erstellten) RSS-Test-File habe ich es ausprobiert:
| |
− | <pre>
| |
− | <?xml version="1.0" encoding="UTF-8"?>
| |
− | <rss version="2.0"
| |
− | xmlns:content="http://purl.org/rss/1.0/modules/content/"
| |
− | xmlns:wfw="http://wellformedweb.org/CommentAPI/"
| |
− | xmlns:dc="http://purl.org/dc/elements/1.1/">
| |
− | | |
− | <channel>
| |
− | <title>NotizbuchRSS</title>
| |
− | <link>http://192.168.1.20/wordpress/</link>
| |
− | <pubDate>Thu, 12 Apr 2008 13:05:55 +0100</pubDate>
| |
− | <description>Ehemalige Outlook-Notizen</description>
| |
− | | |
− | <item>
| |
− | <title>Nokia 3650 Combines Phone And Photos</title>
| |
− | <link>http://192.168.1.20/wordpress/?p=20</link>
| |
− | <pubDate>Thu, 13 Apr 2008 12:47:14 +0100</pubDate>
| |
− | <dc:creator>dkracht</dc:creator>
| |
− | <category>Notizbuch</category>
| |
− | <description>I've been playing with the new Nokia 3650. Finally, someone has got the combination of a cell phone with digital camera capabilities right!
| |
− | </description>
| |
− | </item>
| |
− | | |
− | <item>
| |
− | <title>Sanyo Tablet PC Amazes!</title>
| |
− | <link>http://192.168.1.20/wordpress/?p=21</link>
| |
− | <pubDate>Thu, 14 Apr 2008 02:42:31 +0100</pubDate>
| |
− | <dc:creator>dkracht</dc:creator>
| |
− | <category>Notizbuch</category>
| |
− | <description></description>
| |
− | <content:encoded><![CDATA[I was dubious about the new <b>Tablet PCs</b>, but then I saw the latest from Sanyo. <br />Wow, cool looks and it works!]]> </content:encoded>
| |
− | </item>
| |
− | | |
− | <item>
| |
− | <title>Canon MegaTiny Digital Camera Too Small</title>
| |
− | <link>http://192.168.1.20/wordpress/?p=22</link>
| |
− | <pubDate>Thu, 15 Apr 2008 11:12:47 +0100</pubDate>
| |
− | <dc:creator>dkracht</dc:creator>
| |
− | <category>Notizbuch</category>
| |
− | <description>OK, there is a limit to just how small is too small. Canon's MetaTiny, no larger than a quarter, simply is too little to use properly
| |
− | </description>
| |
− | </item>
| |
− | </channel>
| |
− | </rss>
| |
− | </pre>
| |
− | | |
− | === XSL Transformation ===
| |
− | Um als Ausgabe ein RSS-2.0-Format zu erzeugen, müsste man den '''RSS 2.0 Namespace''' als Default-Namespace angeben. Damit scheint es aber bei RSS 2.0 Probleme zu geben, es wird von einem '''empty namespace''' gesprochen.
| |
− | | |
− | Deshalb musste ich etwas trixen: http://www.xml.com/lpt/a/2003/01/02/tr.html
| |
− | | |
− | Mit diesen XSL '''Atom2RSS.xsl''' kann ich mein nun schon vorhandenes [[Atom]]-Format in [[RSS]] 2.0 transformieren.
| |
− | | |
− | Die Transformation beschränkt sich auf die Teile, die in meinem Anwendungsbeispiel (mein [[Notizbuch]]) auch wirklich vorkommen.
| |
− | | |
− | Schießlich habe ich mir die Arbeit geschenkt, für RSS ein RFC 8222 konformes Datum zu erzeugen. Diesen letzen Schitt mache ich manuell mit einem [[FileEditor]]; d.h. aus der Monatsnummer den Monatsnamen erzeugen (01 --> Jan, 02 --> Feb etc.)
| |
− | | |
− | Das so erhaltene RSS-Datei kann ich schließlich nach [[WordPress]] importieren und zwar mit der dort vorhandenen [[RSS]]-Import-Funktion, nun endlich inklusiver des [[HTML]]-formatierten Notizentexts. Leider geht dabei der '''Author''' verloren...
| |
− | | |
− | <pre>
| |
− | <?xml version="1.0" encoding="iso-8859-1"?>
| |
− | <xsl:stylesheet
| |
− | xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
| |
− | xmlns:content="http://purl.org/rss/1.0/modules/content/"
| |
− | xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.0">
| |
− | <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" cdata-section-elements="content:encoded" />
| |
− | | |
− | <xsl:template match="*[local-name()='feed']">
| |
− | <xsl:text>
| |
− | </xsl:text>
| |
− | <rss version="2.0">
| |
− | <channel>
| |
− | <title>NotizbuchRSS</title>
| |
− | <link>http://localhost/wordpress</link>
| |
− | <xsl:variable name="D" select="*[local-name()='updated']" />
| |
− | <pubDate>
| |
− | <xsl:value-of select="concat(substring($D,9,2),' ',substring($D,6,2),' ',substring($D,1,4),' ',substring($D,12,8),' +0200')" />
| |
− | </pubDate>
| |
− | <description>Ehemalige Outlook-Notizen</description>
| |
− | <xsl:apply-templates select="*[local-name()='entry']" />
| |
− | </channel>
| |
− | </rss>
| |
− | </xsl:template>
| |
− |
| |
− | <xsl:template match="*[local-name()='entry']">
| |
− | <item>
| |
− | <title>
| |
− | <xsl:value-of select="*[local-name()='title']"/>
| |
− | </title>
| |
− | <link>http://localhost/wordpress/?p=33</link>
| |
− | <xsl:variable name="D" select="*[local-name()='updated']" />
| |
− | <pubDate>
| |
− | <xsl:value-of select="concat(substring($D,9,2),' ',substring($D,6,2),' ',substring($D,1,4),' ',substring($D,12,8),' +0200')" />
| |
− | </pubDate>
| |
− | <dc:creator>dkracht</dc:creator>
| |
− | <category>Notizbuch</category>
| |
− | <description></description>
| |
− | <content:encoded>
| |
− | <xsl:value-of select="*[local-name()='content']" />
| |
− | </content:encoded>
| |
− | </item>
| |
− | </xsl:template>
| |
− | </xsl:stylesheet>
| |
− | </pre>
| |
− | | |
− | -- [[User:Dkracht|Dkracht]] 21:58, 9 February 2008 (CET)
| |