Perfection or Vanity

Project: Terminated

Blog nie jest już dalej prowadzony ani aktualizowany. Mimo tego, wpisy i komentarze są dalej dostępne. Możesz przeczytać pożegnalny wpis albo przejść do archiwum.

Miniblog dla każdego

15 maja 2006

Ciekawym dodatkiem do bloga jest tak zwane Asides, bądź po prostu - miniblog. Miejsce z „drugim blogiem”, gdzie zamieszcza się generalnie krótkie i mniej ważne wpisy. Linki, cytaty - co chcesz. Chodzi jednak o to, że nie rozmywasz przekazu główych wpisów bloga. Tyczy się to także kanału RSS, dlatego nie mogę zrozumieć jak można podczepiać ten dodatkowy bloczek do głównego źródła. Wordpress dysponuje odpowiednimi wtyczkami, co natomiast z Joggerem (na przykład)?

Byłoby trudno to zrobić, ponieważ Jogger nie ma w opcjach czegoś takiego jak drugi blog wewnątrz pierwszego. Nie zezwala także na dołączanie własnych snippetów kodu PHP do szablonu. Umożliwia jednak jego kompleksową edycję, dzięki czemu możemy umieścić odwołanie do pliku JavaScript, który to doda odpowiednią treść do bloga.

W poprzedniej wersji serwisu można było odpowiednio złożyć URL korzystający z naszej domeny, aby dobrać się do RSS z innego Joggera (syndication.php?format=rss). Teraz już to nie jest możliwe, więc Ajax odpada. Wystarczy więc dysponować dostępem do serwera z PHP i zainstalować na nim swoją własną kopię Feed2JS. Nie polecam korzystać z ich usług online - są wolne, a cache trzyma przez godzinę.

Instalacja jest dość prosta. Jeśli nie czujesz się za dobrze z angielskim:

  1. Wgraj pliki na serwer.
  2. Utwórz dwa katalogi wewnątrz katalogu magpie i nadaj im globalne zezwolenia do zapisu. Można to zrobić przez SSH jeśli masz shell (chmod 0777 katalog), albo cPanelowym Menadżerem Plików.
  3. Możesz potem odpalić plik magpie_debug.php, żeby zobaczyć czy wszystko jest dobrze.
  4. W pliku feed2js_config.php ustaw ścieżkę do Magpie (define('MAGPIE_DIR'…)) - jeśli wgrałeś wszystko jak leci, nie potrzebujesz tam nic zmieniać.
  5. Ustaw też czas cache - ja mam kwadrans. Tutaj: define('MAGPIE_CACHE_AGE', 15*60);. Gdyby kodowanie się sypało zainteresuj się linijką define('MAGPIE_OUTPUT_ENCODING'…)

Dalej pozostaje ci zmienić to co Feed2JS będzie z siebie wyrzucał - plik feed2js.php. Mój skrypt ma już trochę czasu, nie zaglądałem do niego od dawna, ale przypominam sobie, że znajduje się tam domyślnie masa zbędnego kodu (prawie zupa z tagów). Moja część PARSE FEED and GENERATE OUTPUT wygląda tak.

Stworzyłem tutaj funkcję miniblog, którą potem wywołuję przez addEvent z innego pliku JS1. Na końcu funkcji podczepiam wszystko co stworzono do div'a z id="miniblog" - znajomość podstaw DOM wymagana. Można to zrobić oczywiście inaczej (ja trzy razy wypisuję ten sam kod, jeśli chcesz więcej wpisów to lepiej by było wygenerować pętlę). Można również wykorzystać zmienną $feedcheck_str aby sprawdzić czy RSS został przetworzony.

Cały kod powstawał na zasadzie „działaj, proszę” - więc nie jest jakoś specjalnie optymalizowany. Zauważyłem podczas wczytywania się dzisiaj w pliki, że możemy ustawić format daty w feed2js_config.php:

  1. $date_format = "F d, Y h:i:s a";

Tak czy inaczej po wywołaniu feed2js.php?src=ścieżka-do-rss dostaniesz plik JavaScript. Teraz wystarczy go tylko podczepić do strony:

  1. <script type="text/javascript" src="http://serwer.com/feed2js/feed2js.php?src=http://jakiś.jogger.pl/rss/content/html/ilość-wpisów/"></script>
  • 1) Muszę się tym zająć, bo miniblog nie jest dodawany szybciej tylko po onload.

Informacje i hiperłącza

Blog o projektowaniu zgodnych ze standardami stron internetowych.

Praktyczne przykłady, sztuczki CSS, sposoby obchodzenia błędów przeglądarek, lekki i nieinwazyjny JavaScript, użyteczny design, dostępność i skrypty użytkownika.

RSS

Informacje o wpisie

Napisał riddle 15 maja 2006 o 20:46

Kategorie: JavaScript & DOM, Jogger, Moje dzieła

Dodaj do:

Wpisy archiwalne

Archiwum miesięczne

Dzięki!

Dodaj bloga do Technorati Favorites Dodaj bloga do Del.icio.us Blog należy do sieci 10przykazań.com

  1. ciekawe, trzeba to będzie kiedyś wypróbować...;)
    dzięki za info.

  2. Właśnie czytając grupę dyskusyjną poświęconą pewnemu programowi do authoringu web znalazłem fajny cytat. Umieściłbym go na blogu, ale żal mi wpisu - chyba będę potrzebował minibloga :-)

    Jeden problem. Fajne to jest, ale gdzie to w layoucie zmieścić? Bez przebudowy (u mnie przynajmniej) to się nie obejdzie...

  3. Ktos - a może tak, jak prawdziwe WordPressowe aside'y? Nie w sidebarze, ale jako zwykłe notki, tylko jakoś wyróżnione, tzn. bez tytułu...?

  4. =] przydałby mi się miniblog bo czasami jakąś pierdołkę napisać się chce.

    Ale najpierw kilka updatów w designie :]

  5. Jeśli chodzi o problemy z umieszczeniem minibloga, to proponuję na samym końcu strony. Wydzielić jakoś kolorem, i (jeśli strona jest szeroka) w kilku kolumnach umieścić notki.

    Zauważcie, że minibloga najlepiej czyta się przez RSS. Nie wiem jak inni, ale na samej stronie nawet na ten fragment nie patrze - tutaj idealnie sprawują się feedy.

  6. Priorytetowa sprawa u mnie. Pełno mam jakiś bzdurnych 1 zdaniowych postów. ;)

  7. No wkońcu się doczekałem. :-) Ja nawet już przerobiłem szablon i miniblog powinien mi się wpasować idealnie.

  8. Zastanawiam się właśnie nad wprowadzeniem minibloga u siebie, gdyż czasem chcę napisać jedno zdanie, a nie warto by pojawił się na głównej ekspozycji. :)

  9. Co do dodawania dopiero po wykonaniu zdarzenia onload - kiedyś skonstruowałem funkcję dom_onload, do obejrzenia na stronie http://neo.mlodzi.pl/archiwum/dom_onload.html
    Pozdrawiam.

  10. http://perfectionorvanity.com/2006/03/15/przygotowac-funkcje...-ognia/ używam ;)

  11. Riddle, ale te usługi online są nieużywalne?
    Bo ja niestety nie mam pod ręką żadnego serwera, a jakiś darmowy hosting na ovh.pl czy gdzieś to chyba jeszcze gorsze rozwiązanie.

  12. reod's homepage 12 13 sierpnia 2006, 19:46

    Tak, nie jest to optymalne rozwiązanie, ale pare osób mi tu meiluje - Jak to zrobić? Riddle też opisywał. Ja wolę po mojemu :P
    Sprawa jest prosta, potrzebne jest pare rzeczy:

    serwer z PHP
    konto na joggerze
    możliwość ingerencji w pliki swojego...

    trackback od reod's homepage: Tworzymi minibloga w oparciu o Joggera
    http://reod.ovh.org/home/index.php/2006/08/13/tworzymi-minibloga-w-oparciu-o-joggera/

Dodaj komentarz

Do formatowania komentarzy używaj Textile (HTML nie działa). Szczególnie jeśli wklejasz większe fragmenty kodu. W razie niepewności użyj podglądu komentarza.

Wypowiedzi obraźliwe, infantylne oraz nie na temat będą moderowane – pisząc postaraj się zwiększyć wartość dyskusji.

Komentarze nie służą do wysyłania wiadomości albo informowania o błędach, itd. Chcesz coś mi napisać – skontaktuj się.