Kol. DM pisze sobie bloga używając WordPressa. Trochę go to kosztuje więc pojawiła się koncepcja żeby przeszedł na bezpłatnego Bloggera. Początkiem tej koncepcji jest oczywiście konwersja WP do formatu Bloggera.
Wpisy kol. DM zawierają tekst i dużo zdjęć oraz innych rysunków. Nie mam bladego pojęcia nt. WordPressa, ale dość szybko ustaliłem, że można wyeksportować treść posługując się stosowną funkcją dostępną z Kokpit→Narzędzia→Eksport (powstaje plik w formacie WordPress eXtended RSS -- WXR).
Plik WXR zapisujemy na dysku. Można go zamienić do formatu Bloggera korzystując z konwertera dostępnego tutaj. Jest wprawdzie napisane, że konwerter obsługuje pliki nie większe niż 1Mb, ale mój miał 4Mb i też poszło.
Plik kolegi DM zawiera tekst oraz prawidłowe linki do niektórych rysunków. Inne rysunki są wstawiane sprytnym czymś co nazywane jest shortcode (cf Shortcode API.) Nie wchodząc w szczegóły, zamiast rysunków w treści postu jest umieszczone np. coś takiego:
[nggallery id=506]
506 z kolei jest identyfikatorem zbioru rysunków, które fizycznie są przechowywane w katalogu:
wp-content/gallery
Każda galeria jest w oddzielnym katalogu, ale nazwami katalogów nie są identyfikatory typu 506
ale coś innego. Logując się do phpMyAdmin
byłem w stanie ściągnąć całą bazę (w formacie SQL), w której siedzi WordPress. W jednej z tabel bazy znalazłem przypisanie id_galerii
→nazwa-katalogu-z-plikami
INSERT INTO `wp_ngg_gallery` (`gid`, `name`, `slug`,
`path`, `title`, `galdesc`, `pageid`, `previewpic`, `author`) VALUES
(17, 'gottardo_2', '', 'wp-content/gallery/gottardo_2', '', '', 0, 0, 1),
(16, 'gottardo_1', '', 'wp-content/gallery/gottardo_1', '', '', 0, 0, 1),
(15, 'nufenen', '', 'wp-content/gallery/nufenen', NULL, NULL, 0, 0, 1),
... itd ...
Czyli zawartość czegoś, co w treści wygląda jak:
[nggallery id=15]
Znajduje się w katalogu wp-content/gallery/nufenen
.
Teraz ściągnąłem cały katalog wp-content
na dysk lokalny wykorzystując ncftp
ncftp -u USER -p PASS HOST
get -R -T wp-content
Następnie zamieniłem nazwy plików w następujący sposób:
nr_galerii__nazwa_pliku
Pliki wysłałem na google za pomocą skryptu. Istotne jest to, że skrypt po załadowaniu, zwraca URL zdjęcia pod którym jest ono dostępne na koncie googla:
100__fra_07063.jpg https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnGM8VIJfmKu-dEbNbqqqNEV0DwoloVFw9uktPM6qJpmYSzKJITMugQqH2B0MeTAAFAgCX9o3vRmytf1UvdoBaA5TieHIgp3byMZFEtNmu9RfVCYzzN0xBdtq5wamOf_OMhqbHj4CxwYPt/
100__fra_07064.jpg https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPtWKcJyxiQsoE03R_7UAS-ScRhy-VtXpQ9swfpgaz6S8v_ypfliLJnIFDD92ae9Ctj31J_zLUaara8zC4pPp26Tkv2qzx2jZexmIdHMoX0qIdI9vuw3FE1oiNUCnZZwNSLkxVyYxUBCxX/
itd...
Czyli zdjęcie 100__fra_07063.jpg (oryginalnie należące go galerii o identyfikatorze równym '100') jest dostępne pod adresem:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnGM8VIJfmKu-dEbNbqqqNEV0DwoloVFw9uktPM6qJpmYSzKJITMugQqH2B0MeTAAFAgCX9o3vRmytf1UvdoBaA5TieHIgp3byMZFEtNmu9RfVCYzzN0xBdtq5wamOf_OMhqbHj4CxwYPt/
Uwaga: Album ze zdjęciami na koncie googla może zawierać maksymalnie 1000 zdjęć. Jeżeli zdjęć jest więcej trzeba utworzyć więcej albumów.
Skryptem Perla (wyrażenia regularne/regułowe) zamieniam każde [nggallery id=506] na stosowny ekwiwalent. Przykładowo:
<div id='gid_g509'>
<span>< a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGXJg1WrcrBW1kJl3RJn9FPNSWk2hFjiC6dgFfslV3yjdpco2aIMEeYaQXQkirZuahaKiXCTQOqhcW7c1NQAXOpRBjCzyfQWiMptLCozUJy91d83j0gp2YncFkXvcwvHLaSPv3mfaxJJWo/"
imageanchor="1" style="margin-bottom: 1em; margin-right: .1em;">
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGXJg1WrcrBW1kJl3RJn9FPNSWk2hFjiC6dgFfslV3yjdpco2aIMEeYaQXQkirZuahaKiXCTQOqhcW7c1NQAXOpRBjCzyfQWiMptLCozUJy91d83j0gp2YncFkXvcwvHLaSPv3mfaxJJWo/s128/509__1106_016.jpg"
height='85' /></a>
</span>
... itd ...
Pozostałe zdjęcia mają `prawdziwe URLe' (a nie jakieś shortcody
), ale oczywiście URLe te są złe bo wskazują na starego hosta. Zdjęcia te (z `prawdziwymi URLami') są przechowywane w katalogu ./wp-content/uploads
. Ze zdjeciami postępuję, tak jak w przypadku zdjęć z galerii: 1) wysyłam na konto google skryptem; 2) zmieniam oryginalne URLe na URLe z konta google (skryptem Perla).
Przed importem do Bloggera warto sprawdzić czy plik, który ma być zaimportowany jest well-formed:
xmllint plik-do-zaimportowania.xml
Brak komentarzy:
Prześlij komentarz