W związku z zainteresowaniem przeprowadzką tego typu, postanowiłem, że opiszę dla potomności, co i jak.
Ten wpis to w 99,99% 75% wpis Krzysztofa Jurewicza z modyfikacjami. Pozwoliłem sobie pliki, które podlinkował we wpisie i podczas rozmowy ze mną, wrzucić na własny serwer, by w razie czego ich nie zgubić.
Szablon do eksportu
Bez „specjalistycznego” szablonu „komentarzy” (winno się nazywać: wpisów), nie zrobimy nic. Tak, wiem, zrobiłem literówkę w nazwie pliku. Nieważne. Format czasu to musi być H:i:s, a daty Y-m-d, gdyż w przeciwnym wypadku WordPress nie zrozumie dat ani czasu.
Pobieranie wpisów i komentarzy
Najprostszy krok. Otwieramy terminal, tworzymy katalog, przechodzimy do niego (zrobi się niezły śmietnik, po to nowy katalog) i wywołujemy wget -w 2 -r -nd http://adres-bloga.
Usuwanie zbędnych plików
Usuń wszelkie obrazki, favikonki, robots.txt i inne, które wiesz, że nie są wpisami z komentarzami.
Następnie, w terminalu, uruchom grep -i html\ xmlns ./*, otwórz edytor tekstu i wklej tam wynik. Wykonaj grep -i \?xml ./* i jeżeli cokolwiek więcej pojawiło się w terminalu, skopiuj.
W edytorze tekstu przechodź za ./nazwa_pliku
i przed dwukropkiem naciskaj Shift + End i nie puszczając Shifta, Shift + Delete. Powtórz przed każdym dwukropkiem, by w każdej linii usunąć cytat i dwukropek.
Zamień \n./
na
(spację). Jeżeli Twój edytor nie rozumie \n
(znaku nowej linii), musisz ręcznie pousuwać ./
i połączyć wszystkie linie w jedną. Na początku wielkiej linii zamień ./
na rm, skopiuj całość i wykonaj w terminalu.
Podmiana wtyczki
WordPress od kilku wersji importuje wpisy z WXR w inny sposób, m.in. wymagając nagłówka XML. Podmieńmy więc /wp-admin/import/wordpress.php (tworząc uprzednio kopię zapasową).
Połącz eksport w jeden plik
Po prostu wykonaj w terminalu komendę cat * > jogger.xml.
Delikatnie zmodyfikuj plik
Wykonaj w terminalu:
sed -i s^"<podpis><a href=\"\(.*\)\">\(.*\)<\/a><\/podpis>"^"<wp:comment_author>\2<\/wp:comment_author>\n\t\t<wp:comment_author_url>\1<\/wp:comment_author_url>"^ jogger.xml sed -i s^"<podpis>\(.*\)<\/podpis>"^"<wp:comment_author>\1<\/wp:comment_author>"^ jogger.xml
Import
W dashboardzie WordPressa zwyczajnie dogrzeb się do importu i zaimportuj plik jogger.xml.
Możliwe kłopoty
Bardzo prawdopodobne jest, że napotkasz dwa problemy.
- Twoje komentarze nie wyróżniają się spośród komentarzy gości, choć powinny. Tutaj pewno pomogłaby zabawa z phpMyAdmin (kwerendy/zapytania SQL).
- Komentarze gości mogą nie mieć klikalnych nicków ze względu na kłopoty z rel=”nofollow” / niepoprawnym domknięciem href=”". Rozwiązanie zdaje się być ponownie… Ręczne. Edycja każdego komentarza z problemem. Mogłaby ponownie pomóc zabawa w pMA, niestety, ja nie potrafię napisać kwerendy/zapytania
.
Z góry przestrzegam, by nie kasować wpisów w pMA, bo zostaną w bazie komentarze nieprzypisane do wpisów.
Wpis publikuję głównie z powodu ^lukema, ale w sumie 1% przemawia za publikowaniem go z powodu niemiłych doświadczeń i głupich komend wykonanych na pliku jogger.xml
.
Fragment „delikatnie zmodyfikuj plik” jest okrutnie rozjechany – przebija się przez sidebar itd. FF.
„Usuwanie zbędnych plików” – zabawy z shiftem itd. – nie da się tego po ludzku, sedem wyciąć? To samo z zamianą \n. Jak zobaczę wersję przed i po, to mogę kliknąć seda/perla do tego.
1) Firefox 3.0.4 @ openSUSE 11.0, @ Ubuntu 8.10 i się nie przebija.
Wiem natomiast, że w Firefoksie 3.0.4 @ Vista się przebija. Będę musiał jedną regułkę CSS dodać i wsio.
2) Przykładowo wygląda to tak:
./2: cytat bla bla bla – fragment pliku
./3: kolejny cytat z pliku
a po zabawie z Shiftem przed dwukropkiem:
./2
./3
Po zabawie w zamianę wygląda to tak:
./2 3
Po ręcznej zamianie:
rm 2 3
Na bardziej konkretne przykłady musisz poczekać aż przełączę się na zainstalowany system
.
To daj znać jabberkiem, jak będziesz miał konkrety, bo chyba nie do końca rozumiem. I bota joggerowego pożeń z wordpressem, o!
Pingback: notepad of Karol Stilger
Pingback: notepad of Karol Stilger
Pingback: notepad of Karol Stilger