Style w moim blogu - notatka
Style dla TABLE
s1 - tabelka z szarymi, delikatnymi, cienkimi ramkami
s2 - wszystko dobite do góry i do lewej - przydatne do studiowania tekstów, analiz treści
Style dla TABLE
s1 - tabelka z szarymi, delikatnymi, cienkimi ramkami
s2 - wszystko dobite do góry i do lewej - przydatne do studiowania tekstów, analiz treści
No i stało się. Dziś rozstaję się z moim starym, napisanym w czystym PHP, gdzieś w 2005 roku kodem i przechodzę na Symphony 2.0.
Jak teraz jest to zrobione?
Tyle o sprzęcie, a teraz o ludziach:
Zobaczymy ile wytrzyma ta wersja.
Póki co notek jest około ... nie pamiętam polecania w SQL aby to sprawdzić, ale dużo.
Symfony, a nie "Symphony" :-)
Czy kanał RSS również jest do zrobienia?
To jest bardzo stara sowa:
Znalazłem ją na dysku i chcę zachować na blogu. Pamiętam, że była na mojej stronie już gdzieś w 1995 roku.
A tamtych czasów, choć pewnie nieco wcześniej pochodzi też moja ASCII Sowa (ASCII OWL) w wersji solowej, albo na trzepaku.
Właśnie sobie uświadomiłem, że mój blog ma 10 lat. Przez to 10 lat (pewnie to jest 3653 dni) wklepałem w niego ponad 1500 notek, czyli co 2, 3 dni jedna.
Ojej! Muszę to chyba przeanalizować. I co najważniejsze - mojego bloga fejsbook nie zjadł!
paragraf wewnątrz div w stylu ramka
blockquote w stylu ramka
Paragraf w stylu ramka
Paragraf w stylu ramka1
Paragraf w stylu ramka2
Paragraf w stylu ramka3
Paragraf w stylu ramka3a
Linia HR poniżej
Linia HR powyżej
Klasa ksiazka
To jest paragraf wewnątrz div
Klasa gazeta
To jest paragraf wewnątrz div
Klasa wiersz
To jest paragraf wewnątrz div
Klasa wiersz1
To jest paragraf wewnątrz div
Oto statystyka oglądania stron w moim serwisie. Najważniejszy jest hip-hop i ta strona wzbudza też największe kontrowersje, bo Peja jest ...
Słowa mają swoje znaczenie. Słowami, gdy używa się ich dowolnie można grać, manipulować, zwodzić ale można też być ogranym, zmanipulowanym, zwiedzonym.
Z MP doszedłem dziś do porozumieniu w znaczeniu pojęcia, które kryje się pod polskim słowem "miłość" - ale jako przykład zwodzenia na linii damsko-męskiej (zwłaszcza gdy procesy myślowe są przygniecione przez uczucia lub hormony) niech służy obrazek wzięty od Czerskiego z serwisu GaduGadu.
Z pewną nieśmiałością go tu umieszczam nie w celu łamania praw autorskich a jedynie wskazania na dobrą jakość produktu jakim sam w sobie jest:
Art. 54. ust. 1 Konstytucji Rzeczpospolitej Polskiej
Każdemu zapewnia się wolność wyrażania swoich poglądów oraz pozyskiwania i rozpowszechniania informacji.
A więc wolno mi! Wolno mi tu pisać! Wolno mi, bo pozwalają mi na to słabo skodyfikowane prawa człowieka, pozwala mi na to Konstystucja RP i zapłacona firmie NetGate faktura, za prowadzenie konta W34 na serwerze blog.pl
Wolno mi do czasu aż nie naruszę jakiś innych praw (np. kk mówi coś o lżeniu (chyba par. 254)) albo nie wyrządzę komuś szkody (wtedy to chyba art. 484 kc), którą będę musiał naprawić.
Skoro więc mi wolno to dziś nic już więcej nie napiszę.
Programować każdy może, to znaczy, że mogę ja też. A więc chcąc sobie zrobić spis treści moich notek zagłębiłem się w XML-a, programowanie w PHP-ie, wyrażenia regularne... Myślę, że każdy, nawet niepraktykujący informatyk powinien raz na 5 lat, tak dla sportu rozwiązać jakiś fajny problem przy pomocy wyrażeń regularnych.
Efekty (okropne) można oglądać tu:
A kod, który to robi jest poniżej. Szkoda tylko, że nie robi tego co chciałem, czyli nie wyciąga mi spisów notek z archiwum. Ale tak to zawsze jest z projektami informatycznymi: założenia są jakieś a wychodzi coś innego, o czym przekonujemy się obserwując jak Softbank robi CEPIK.
Ale ja mam korzyści z tej zabawy: dowiedziałem się czegoś o XML-u, o parsowaniu, przypomniałem sobie PHP-a (od czasów stworzenia FIKI zapomniałem wiele), potrenowałem ereg_replace, liznąłem UTF-8 i Unicode... Trening mózgu zaliczony!
/****************************************************************** To prosty program, ktory pobiera pierwsza strone bloga z blog.pl jako RSS w formacie XML i rozbiera ja na elementy pierwsze korzystajac ze standardowego parseta dostepnego w PHP4. Programowac kazdy moze ! Program w piekna styczniowa 2004 roku noc popelnil W34. *******************************************************************/ $ItemOn = 0; // wskaznik, czy analizuje opis bloga czy notke $LinkOn = 0; $TitleOn = 0; $DateOn = 0; $DescriptionOn = 0; $SpisNotek1 = array(); // tablica, w ktorej skompletuje spis tresci $xSpisNotek1 = 0; // indeks do budowania tablicy notek $TytulBloga = ""; // najlepiej zrobic to tak aby nikomu nie wpadlo do // glowy otwieranie /etc/shadow $blog = $_SERVER[QUERY_STRING]; $file = "http://" . $blog . ".blog.pl/index.rss"; wyswietl_tematy_notek ($file); function wyswietl_tematy_notek ($blog_rss_url) { global $SpisNotek1, $TytulBloga; # na poczatek parsowanie tego XML-a co sie go wczytuje $xml_parser = xml_parser_create (); xml_set_element_handler ($xml_parser, "startElement", "endElement"); xml_set_character_data_handler ($xml_parser, "characterData"); if (!($fp = fopen ($blog_rss_url, "r"))) die ("cos ta strona w XML nie chce sie otworzyc"); while ($data = fread ($fp, 4096)) { if (!xml_parse ($xml_parser, $data, feof ($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string (xml_get_error_code ($xml_parser)), xml_get_current_line_number ($xml_parser))); } } xml_parser_free ($xml_parser); # a teraz wyrzucenie spisu notek w jakims formacie
echo '<b>' . $TytulBloga . '</B></BR>';
foreach ($SpisNotek1 as $notka) {
echo '<P>';
echo '<a href="' . $notka [link] . '" target="nw">';
echo '' . $notka [title] . '</A>';
echo '<small>' . $notka [date] . '</small>';
# echo '' . $notka [description]; // cos to brzydko wyglada
# echo '<HR>'; } } # # funkja wolana przez parser w chwili, gdy znajdzie on emelemt otwierajacy # function startElement($parser, $name, $attrs) { global $LinkOn, $ItemOn, $TitleOn, $DateOn, $DescriptionOn; switch ($name) { case "ITEM" : // notki sa umieszczone w $ItemOn++; break; case "LINK" : $LinkOn++; break; case "TITLE" : $TitleOn++; break; case "DC:DATE" : $DateOn++; break; case "DESCRIPTION" : $DescriptionOn++; break; } } # # funkja wolana przez parser w chwili, gdy znajdzie on zamkniecie # function endElement($parser, $name) { global $LinkOn, $ItemOn, $TitleOn, $DateOn, $DescriptionOn; global $xSpisNotek1; switch ($name) { case "ITEM" : $ItemOn--; $xSpisNotek1++; break; case "LINK" : $LinkOn--; break; case "TITLE" : $TitleOn--; break; case "DC:DATE" : $DateOn--; break; case "DESCRIPTION" : $DescriptionOn--; break; } } # # funkcja wolana przez parser, gdy ma on dane zawarte w elemencie # function characterData ($parser, $data) { global $LinkOn, $ItemOn, $TitleOn, $DateOn, $DescriptionOn; global $SpisNotek1, $xSpisNotek1, $TytulBloga; if ($ItemOn){ if ($LinkOn) $SpisNotek1 [$xSpisNotek1] [link] = $data; if ($TitleOn) $SpisNotek1 [$xSpisNotek1] [title] = utf82iso88592 ($data); if ($DateOn) // na pewno mozna ta date potraktowac lepiej :-) $SpisNotek1 [$xSpisNotek1] [date] = substr ($data, 0, 10); # if ($DescriptionOn) // cos te konwersje tekstu nie dzialaja :-) # $SpisNotek1 [$xSpisNotek1] [description] = utf82iso88592 (html2text ($data)); } else if ($TitleOn) $TytulBloga = utf82iso88592 ($data); } ?>
Cała notka pochodzi z wiem-i-nie-wiem.blog.pl. W komentarzu do niej znalazłem, że autorem cytatu jest Katarzyna Grochola.
Umieszczam ją tu, bo warta jest tego. Ostatnie zdanie, a właściwie bardzo ważne, egzystencjalne pytanie pochodzi oczywiście od autorki bloga.
"(...) Dzisiaj wszystko mamy takie "na luzie". Wierzymy w Boga, ale "nie musimy" chodzić do kościoła, jesteśmy małżeństwem, ale jak się nam przytrafi malutka zdrada na boku, to nic się nie stanie... Uważam, że jeśli nie ma jasno określonych granic, człowiek może się łatwo zgubić. (...)
Życie to nie zabawa. Można to życie budować po swojemu, ale według zasad, które obowiązują odtysięcy lat, a nie według tych, które wczoraj sobie sami wymyśliliśmy. Nawet jak te nasze wydają nam się najwspanialsze."
Czyżby to było "kluczem do szczęścia"?
Na głównej stronie blog.pl znalazłem taką informację:
Ponieważ lubię dzielić (znaczy się mnożyć też lubię) podzieliłem i wyszło, że na jednego, statystycznego bloga przypada:
I niech to będzie pierwszy głos w dyskusji na temat "co ja tutaj robię".