Mein Weblog existiert seit 2006. Damals habe ich Blogfunktionalitäten auf einem TWiki nachgebaut. Seither ist dieser Weblog auf über 1600 Postings angewachsen, die Blog-Implementation ist aber sehr rudimentär und sowohl für Besucher:innen als auch für mich nicht sehr nutzungsfreundlich.
Neu soll das Weblog auf einem neuen Wiki-Server laufen mit der Blog-Applikation von Foswiki.
mettacomment, pattern
umstelle, dann funktioniert es. bei SKIN = nat wird das Metacomment-Interce nicht angezeigt (siehe https://arbeitsgruppe.ch/Sandbox/CommentTest)
perl convert_charset.pl -web=Blub
Sub MigrateBlog() Dim fso As Object Dim folderPath As String Dim file As Object Dim folder As Object Dim fileContent As String Dim modificationDate As String Dim titel As String Dim linuxdatum As Long Dim kategorien As String ' Verzeichnis mit den TXT-Dateien angeben folderPath = "d:\blogpostings\" ' Hier den Pfad zu deinem Verzeichnis anpassen ' FileSystemObject erstellen Set fso = CreateObject("Scripting.FileSystemObject") ' Überprüfen, ob das Verzeichnis existiert If fso.FolderExists(folderPath) Then ' Verzeichnis-Objekt abrufen Set folder = fso.GetFolder(folderPath) ' Jede TXT-Datei im Verzeichnis durchlaufen For Each file In folder.Files kategorien = "" If LCase(fso.GetExtensionName(file.Name)) = "txt" Then ' Änderungsdatum der Datei abrufen modificationDate = file.DateLastModified linuxdatum = VBAtoUnixTimestamp(CDate(modificationDate)) ' Dateiinhalt lesen fileContent = readUTF8absolut(folderPath & file.Name) titel = extract_string(fileContent, "---+ ", Chr$(10), 1) ' Unveränderte Metazeilen addLine fileContent, Chr$(10) addLine fileContent, "%META:FORM{name=""Applications/BlogApp.BlogEntry""}%" addLine fileContent, "%META:FIELD{name=""TopicType"" title=""TopicType"" value=""BlogEntry, SeoTopic, ClassifiedTopic, CategorizedTopic, TaggedTopic, WikiTopic""}%" addLine fileContent, "%META:FIELD{name=""Summary"" title=""Summary"" value=""""}%" addLine fileContent, "%META:FIELD{name=""Tag"" title=""Tag"" value=""""}%" addLine fileContent, "%META:FIELD{name=""Author"" title=""Author"" value=""Beat Döbeli Honegger""}%" addLine fileContent, "%META:FIELD{name=""State"" title=""State"" value=""published""}%" addLine fileContent, "%META:FIELD{name=""UnpublishDate"" title=""Unpublish Date"" value=""""}%" addLine fileContent, "%META:FIELD{name=""Sticky"" title=""Sticky"" value=""""}%" addLine fileContent, "%META:FIELD{name=""HTMLTitle"" title=""HTML Title"" value=""""}%" addLine fileContent, "%META:FIELD{name=""MetaDescription"" title=""Meta Description"" value=""""}%" addLine fileContent, "%META:FIELD{name=""MetaKeywords"" title=""Meta Keywords"" value=""""}%" 'Anzupassende Metazeilen addLine fileContent, "%META:FIELD{name=""TopicTitle"" title=""<nop>TopicTitle"" value=""" & titel & """}%" addLine fileContent, "%META:FIELD{name=""PublishDate"" origvalue=""" & Format(modificationDate, "dd mmm yyyy") & """ title=""Publish Date"" value=""" & linuxdatum & """}%" kategorie fileContent, kategorien, "Annoyance" kategorie fileContent, kategorien, "Biblionetz" kategorie fileContent, kategorien, "Elektromobil" kategorie fileContent, kategorien, "Idee" kategorie fileContent, kategorien, "InformationArchitecture" kategorie fileContent, kategorien, "iPhone" kategorie fileContent, kategorien, "Medienbericht" kategorie fileContent, kategorien, "Medienbildung" kategorie fileContent, kategorien, "OLPC" kategorie fileContent, kategorien, "PHSolothurn" kategorie fileContent, kategorien, "PHSZ" kategorie fileContent, kategorien, "SchulICT" kategorie fileContent, kategorien, "Scratch" kategorie fileContent, kategorien, "Software" kategorie fileContent, kategorien, "TabletPC" kategorie fileContent, kategorien, "Veranstaltung" kategorie fileContent, kategorien, "Visualisierung" kategorie fileContent, kategorien, "Video" kategorie fileContent, kategorien, "Wiki" kategorie fileContent, kategorien, "Wissenschaft" kategorie fileContent, kategorien, "Informatik" kategorie fileContent, kategorien, "Gadget" kategorie fileContent, kategorien, "Geek" kategorie fileContent, kategorien, "CT" kategorie fileContent, kategorien, "DigitalImmigrants" kategorie fileContent, kategorien, "DPM" kategorie fileContent, kategorien, "GeoLocation" kategorie fileContent, kategorien, "PHZ" kategorie fileContent, kategorien, "Kid" kategorie fileContent, kategorien, "GeschaeftsModell" kategorie fileContent, kategorien, "HandheldInSchool" kategorie fileContent, kategorien, "iLearnIT" kategorie fileContent, kategorien, "RechtUndInformatik" kategorie fileContent, kategorien, "SecondLife" kategorie fileContent, kategorien, "Wertequadrat" addLine fileContent, "%META:FIELD{name=""Category"" title=""Category"" value=""" & kategorien & """}%" fileContent = Replace(fileContent, "%STARTBLOG%" & Chr$(10), "") fileContent = Replace(fileContent, "%STOPBLOG%" & Chr$(10), "") fileContent = Replace(fileContent, "---+ " & titel & Chr$(10), "") fileContent = Replace(fileContent, "Kategorien:", "") fileContent = Replace(fileContent, "IsaBlog", "") fileContent = Replace(fileContent, Chr$(10) & Chr$(10) & Chr$(10), Chr$(10)) fileContent = Replace(fileContent, Chr$(10) & " ,", Chr$(10)) fileContent = Replace(fileContent, Chr$(10) & " , ,", Chr$(10)) ' Debug.Print fileContent schreibeAbsolut "d:\blogpostings_migriert\" & file.Name, fileContent End If Next file Else MsgBox "Das angegebene Verzeichnis existiert nicht: " & folderPath, vbExclamation End If ' Speicher freigeben Set folder = Nothing Set fso = Nothing End Sub Sub kategorie(content As String, categories As String, Category As String) Dim oldCategory As String Dim newCategory As String oldCategory = "Isa" & Category newCategory = Category & "Category" If InStr(content, oldCategory) > 0 Then content = Replace(content, oldCategory, "") If categories = "" Then content = Replace(content, "TOPICPARENT{name=""WebHome""}", "TOPICPARENT{name=""" & newCategory & """}") Else add categories, ", " End If add categories, newCategory End If End Sub Function VBAtoUnixTimestamp(vbaDate As Date) As Double ' Unix-Startdatum: 1. Januar 1970 Dim unixStart As Date unixStart = #1/1/1970# ' Berechne den Unterschied in Sekunden VBAtoUnixTimestamp = (vbaDate - unixStart) * 86400 End Function