fajne.life to nie tylko blog, ale też długofalowy projekt tworzenia osobistego, prostego systemu życia i pracy. Cała strona – zarówno technicznie, jak i koncepcyjnie – powstaje krok po kroku.
Na tej podstronie dokumentuję wszystkie zmiany techniczne i wizualne w formie changelogu. Każda wersja motywu lub większej zmiany systemowej ma swój wpis w kategorii changelog.
To miejsce dla tych, którzy lubią śledzić proces, zmiany, decyzje i rozwój – i może dla tych, którzy sami chcą zbudować coś swojego.
- wersja 2.4 – api bloga, wyszukiwarka, zgody rodo
ta aktualizacja to kolejny duży krok w budowie spójnego ekosystemu „fajne życie”. największą nowością jest wtyczka stałe api dnia – dzięki niej mój dziennik staje się dostępny nie tylko na blogu, ale także w postaci stałego, bezpiecznego api. to właśnie przez nie chat gpt może czytać moje wpisy i dane zdrowotne, analizować je, a nawet pomagać mi codziennie wyciągać wnioski. w połączeniu ze skrótami apple oznacza to błyskawiczne analizy – wystarczy jedno tąpnięcie albo komenda głosowa na iphonie, żeby otrzymać podsumowanie dnia, ocenę nastroju czy sugestie zmian.
obok tego poprawiłem filtry dla jetpack newsletter i jetpack social, które pozwalają decydować, które treści wysyłają się mailem i do mediów społecznościowych – w końcu działa to tak, jak powinno. gotowa jest też pełna wtyczka zgód rodo (🍪), a także całkiem nowa wyszukiwarka fajne search – szybka, nowoczesna i spójna z całym systemem i dodatkiem jetpack search, choć już wiem, że czeka mnie tu jeszcze sporo pracy, aby działało to tak, jak chcę, aby działało.
to ogromny krok – system „fajne życie” staje się coraz bardziej interaktywny i zintegrowany.
dodane:
- Wtyczka: „fajne | Newsletter Filter”
- Filtr kategorii newslettera (panel: Fajne Core → Newsletter Filter)
- Integracja z Jetpack Newsletter (hook
jetpack_published_post_flags) – działa jako filtr decyzyjny, nie nadpisuje logiki Jetpacka - Ustawienia w kokpicie: włącznik, lista kategorii (checkboxy), integracja z menu Fajne Core
- Tryb ręcznego nadpisania: metabox z checkboxem „Wymuś wysyłkę newslettera”
- Rozdzielenie sterowania Newsletter vs Social (Jetpack Social)
- Oddzielne włączniki i listy kategorii dla social mediów
- Metabox: „Wymuś udostępnianie w mediach społecznościowych”
- Hooki:
jetpack_social_auto_share_enabled,jetpack_social_auto_share_message
- Wtyczka: „fajne | Zgody RODO” (🍪)
- Zależność od „fajne | Core”, rejestracja modułu, automatyczna inicjalizacja
- Panel ustawień (4 sekcje): Ogólne, Banner, Kategorie, Google Consent Mode v2
- Frontend: banner + modal kategorii, AJAX zapisu zgód, integracja z Google Consent Mode v2
- Style (
frontend.css,admin.css) i skrypty (frontend.js,admin.js) - Dokumentacja (
README.md), czyszczenie przy odinstalowaniu (uninstall.php) - 5 kategorii ciasteczek, 3 style bannerów, 6 pozycji wyświetlania, pełna responsywność
- API i eventy dla deweloperów
- Wtyczka: „fajne | Search”
- Osobny moduł, współpracuje z Jetpack Search (automatyczne wykrywanie + fallback do natywnego WP)
- Globalne wyszukiwanie: posty, strony, mikrodziennik (CPT), changelog (CPT), tagi, kategorie
- Interfejs lightbox: animacje, dark mode, filtry typów treści, ikony/oznaczenia wyników
- Skrót klawiaturowy:
CMD-J/CTRL-J - AJAX endpoint
fajne_search, hook integracji z paskiem narzędzi (fajne_toolbar_search) - Struktura: osobne CSS/JS, dokumentacja i instrukcja instalacji
- Wtyczka: „fajne | Stałe API Dnia”
- Rejestracja w Fajne Core, panel ustawień, zarządzanie linkami
- Stałe linki API z uprawnieniami:
public / patron / private(endpoint:/api-dnia/{link_id}/) - Zbieranie i grupowanie danych per dzień (strefa Europe/Warsaw)
- Wsparcie dla wielu typów treści (posty, mikro, zdrowie, posiłki, nastrój, aktywność)
- Format wyjścia: JSON (kanoniczny) + opcjonalnie Markdown (
?format=markdown) - Konwersja HTML → Markdown dla lepszej pracy z LLM
- Bezpieczeństwo: unieważnianie linków, licznik zapytań, obsługa błędów
usunięte:
- Usunięto problematyczne hooki
jetpack_sync_before_enqueue_*(konfliktowały z Jetpack Social)
naprawione:
- Fajne | Auto Title
- Dodano obsługę automatycznych tytułów dla micro-wpisów publikowanych z aplikacji
- Komentarze i udostępnianie
- Przywrócono/uzupełniono możliwość komentowania micro-wpisów
- Usunięto pole komentowania w sekcji „tego samego dnia”
- Sekcje „Komentarze” i „Podaj dalej” przerobione w oparciu o globalne skalowanie/stylowanie
- Dodatkowe poprawki UX sekcji „Podaj dalej” i „Skomentuj ten wpis”
- Wtyczka: „fajne | Newsletter Filter”
- wersja 2.3 – Moduł Kalendarza 🎉
dodane:
- Nowa wtyczka: „fajne | kalendarz”
- Pełna integracja z systemem Fajne życie
- Struktura wtyczki
- Główny plik
fajne-kalendarz.phpzgodny ze specyfikacją fajne-core - Plik
module-hook.phpdo rejestracji w systemie - Struktura katalogów zgodna ze standardami
- Główny plik
- URL Rewriting dla dat
/dzisiaj,/wczoraj,/jutro,/pojutrze+ wersje angielskie- Automatyczne odświeżanie reguł przy aktywacji/deaktywacji
- Integracja z wyszukiwarką
- Obsługa dni tygodnia, miesięcy, lat i dat względnych (np. „dzisiaj”, „jutro”)
- AJAX handler do szybkiego wyszukiwania dat
- Interaktywny kalendarz (lightbox)
- Nowoczesny, responsywny design
- Oznaczenie dni z wpisami + bieżącego dnia
- Nawigacja miesiącami, klikane dni → archiwum
- Skróty klawiaturowe: strzałki, Escape, Home
- Pełne wsparcie dla mobile i trybu ciemnego
- Obsługa archiwum dat
- Automatyczne strony archiwum dla dni, tygodni, miesięcy, lat
- Przyszłe daty nie generują błędów 404
- SEO-friendly meta tagi
- Integracja z motywem
- Ikona kalendarza w nagłówku + skrót ⌘C (Mac) / Ctrl+C (PC)
- Usunięty alert „funkcjonalność w trakcie rozwoju”
- Globalna biblioteka lightbox
- Reużywalny modal z animacjami
- Obsługa Escape, kliknięcia poza modalem i blokada scrolla
- Jak używać:
- Kliknij ikonę kalendarza w nagłówku lub użyj skrótu ⌘C / Ctrl+C
- Wpisz w URL:
/dzisiaj,/wczoraj,/jutroitp. - Wyszukuj daty (np. „poniedziałek”, „lipiec”, „2025”) w wyszukiwarce
- Nawiguj interaktywnym kalendarzem
- Wymagania techniczne:
- Wtyczka fajne | Core 1.0.0+
- PHP 7.4+, WordPress 5.0+
- JavaScript: jQuery
- CSS Variables dla łatwej personalizacji
- Możliwość komentowania micro-wpisów
- Globalne skalowanie dla sekcji „Komentarze” i „Podaj dalej”
- Nowa wersja sekcji „Podaj dalej” i „Skomentuj ten wpis” – spójny wygląd i lepsze UX
zmienione:
- Fajne Auto Title
- Dodawanie automatycznych tytułów dla micro-wpisów publikowanych z aplikacji
- Mikrowpisy (tego samego dnia)
- Usunięte pole komentowania przy wpisach tej sekcji
naprawione:
- Poprawki wizualne sekcji „Podaj dalej” i „Skomentuj ten wpis”
- wersja 2.2 – mikrodzienniki, podsumowania dnia i inne nowe funkcje
dodane:
- Nowy moduł: „fajne | podsumowania dnia” (Gabloty i Wyrok)
- Osobny typ wpisów do codziennych podsumowań w ramach projektu fajne życie – 365
- Zawiera: numer dnia transformacji, narrację dnia, ocenę (kolorową) oraz opcjonalne sekcje analityczne (sen, aktywność, stres, środowisko)
- Integracja z systemem ikon bloga (domyślnie 📆, możliwość zmiany)
- Wygląd dopasowany do „artykułów” na stronie głównej
- Ustawienia wtyczki: nazwa projektu, daty startu i końca
- System modułów – konfigurowalne nazwy, ikony, klucze JSON i podsekcje
- Trzy metody uzupełniania: ręcznie, wklejenie JSON, import pliku JSON
- Strona archiwum z filtrami (zakres dat, moduły, typ treści)
- Obsługa wielu projektów i numerowania dni względem startu projektu
- Checkboxy dla podsekcji – aktywne/nieaktywne w edytorze
- Dynamiczne renderowanie modułów w edytorze i na stronie
- Oznaczenie projektu (badge z nazwą) pod tytułem wpisu
- Domyślne blokowanie wpisów dla Patronów z możliwością odblokowania
- Integracja z rolą „patron” – dostęp do wpisów zablokowanych
- Obsługa komentarzy na blogu
- Włączony system komentowania
- Sekcje „Komentarze” oraz „Podaj dalej” są teraz zwijalne
- Sekcja „Podaj dalej”
- Przebudowana, z nowym wyglądem i funkcjami udostępniania
zmienione:
- Poprawki wydajności nagłówka strony
- Mikrodzienniki
- Usunięcie automatycznego tytułu szkica
- Zmiana adresów (URL) mikrodzienników
- Nowy layout wpisów mikrodzienników
- Możliwość łatwego udostępniania wpisów dalej
- Łatwe przejście pomiędzy mikrodziennikami
- Linkowanie do wpisów mikrodzienników
- Poprawki wyświetlania na stronie głównej i w kategoriach
- Wygląd podsumowań dnia
- Format wyroku: „⚖️ Wyrok: 🟡 przeciętny” (dwukropek, małe litery)
- Sekcja „Notatki” – identyczna ramka i layout jak „Wnioski końcowe”
- Poprawiona szerokość strony (max-width: 800px, wyśrodkowanie)
- Nowoczesny design filtrów i kart wpisów
- Nowe opcje filtrowania: wielokrotny wybór modułów, checkboxy „Gablota” i „Wyrok”
naprawione:
- JSON i import danych
- Poprawione mapowanie modułów i podsekcji
- Obsługa głównej wartości modułu (
content) - Import statusu prywatności (
privacy.locked) - Usunięcie błędu w strukturze przykładowego JSON
- Dynamiczne generowanie
- Moduły i podsekcje generowane na podstawie ustawień
- Zapisywanie dowolnej liczby modułów i podsekcji
- Wyświetlanie tylko treści istniejących modułów/podsekcji
usunięte:
- Wyłączenie klasycznego edytora i kategorii dla podsumowań dnia (zastąpione meta field
patreon-level/_fajne_patreon_locked)
- wersja 2.1 – Ikony, tagi i więcej porządku
dodane:
- Dedykowane ikony dla typów treści
- Możliwość przypisywania i edytowania ikon w ustawieniach motywu
- Ikony widoczne przy wpisach w strumieniu życia i na stronach kategorii
- Nowa wtyczka: „fajne | auto tagi i osoby” (v1.0.0)
- Automatyczne wykrywanie znaczników # i @ w treści wpisów i zamiana ich na tagi WordPress
- # tag → zwykły tag WordPress
- @ osoba → tag z zachowanym prefiksem „@” (np. @ mama)
- Ignorowanie adresów e-mail (nie zamieniają się w tagi)
- Działa tylko przy publikacji i aktualizacji (nie przy zapisie roboczym)
- Możliwość wyłączenia działania w danym wpisie (checkbox)
- Pełna zgodność z custom post types
- Osobna strona ustawień z opcją: włącz/wyłącz, zmiana prefiksów, wykluczanie typów treści
- Dodawane klasy CSS
.tag-znaczniki.tag-osobadla pełnej kontroli stylów - Modułowa budowa – gotowa do dalszego rozwoju
- Zadania nowego modułu:
- Testy przy różnych kombinacjach
#i@ - Dodanie podlinkowania znaczników w treści
- Testy przy różnych kombinacjach
- Automatyczne wykrywanie znaczników # i @ w treści wpisów i zamiana ich na tagi WordPress
- Zmiana wyglądu mikrowpisów
- Lepsze grupowanie wpisów z tego samego dnia
- Czytelniejsze przedstawienie chronologii
- Globalna wyszukiwarka
- Uspójniony wygląd i interakcja – jak w aplikacjach
- Dodany skrót klawiaturowy do otwierania wyszukiwarki (
⌘ + K)
- Globalny pasek narzędziowy
- Szybszy dostęp do kluczowych funkcji strony
- Wstępne skróty: kalendarz, dziś, wyszukiwarka, tryb jasny/ciemny
- Tryb darmowy
- Nowy tryb przeglądania strony, w którym ukrywane są wszystkie wpisy dostępne wyłącznie dla patronów z Patreona
- Możliwość przełączania widoczności płatnych treści globalnie
usunięte:
- Nawigacja breadcrumbs (okruszki) – uproszczenie interfejsu
naprawione:
- Ujednolicenie nagłówków i porządek w strukturze strony
- Lepszy układ nagłówka – wprowadzenie spójnych, globalnych rozwiązań
- Dedykowane ikony dla typów treści
- wersja 2.0 – nowy strumień życia
dodane:
- Strona główna w formie Strumienia Życia
- Wszystkie treści na blogu zebrane w jednym, chronologicznym strumieniu
- Grupowanie wpisów według dni oraz typu treści (mikrowpis, artykuł, mikro-dziennik)
- Ikony oznaczeń typów treści dla lepszej czytelności i wizualnego wyróżnienia
- Obsługa tagów
- Wyświetlanie tagów przy wpisach oraz możliwość grupowania treści według tagów
- Podział mikrowpisów na godziny
- Każdy mikrowpis zawiera informację o dokładnej godzinie publikacji, co pozwala na lepsze śledzenie chronologii w ciągu dnia
- Automatyczne ustawianie statusu wpisów
- Integracja z systemem Patreona, która pozwala na automatyczne blokowanie lub odblokowywanie wpisów w zależności od przypisanej kategorii, umożliwiając bezpieczne publikowanie bardziej prywatnych treści
- Wtyczka dla wpisów zablokowanych dla patronów
- Dodanie fragmentu tekstu jako zajawki dla wpisów dostępnych tylko dla wspierających na Patreonie
- Usprawnienia w wyświetlaniu i stylizacji takich wpisów
usunięte:
- brak
naprawione:
- brak
- Strona główna w formie Strumienia Życia
- wersja 1.2.1 (mikro-dzienniki + zmiany w wyglądzie list)
dodane:
- nowość – moduł mikro-dzienniki (plugin:
fajne-mikrodziennik) - rejestracja własnego Custom Post Type
mikrodziennikbez tytułu, z obsługą edytora i pól własnych - rejestracja taksonomii
dziennik_kategoriado grupowania wpisów dziennikowych (np. „fajne życie to”, „uwielbiam”) - dodanie pola „nastrój” jako własnych metadanych, edytowalnych w panelu bocznym wpisu
- plugin przygotowany zgodnie ze strukturą systemu modułowego (ładowany przez
fajne-core)
zmienione:
- strona główna:
- dodano sekcję
mikro-dziennikiz wyświetleniem 6 najnowszych wpisów tego typu - wpisy pokazują kategorię jako podkreślony link + treść wpisu bez podkreślenia
- dodano przycisk „więcej”, kierujący do archiwum mikro-dzienników
- szablon kategorii (
taxonomy-dziennik_kategoria.php): - ten sam układ i styl jak na stronie głównej
- paginacja z użyciem
the_posts_pagination()
naprawione:
- poprawiono styl linkowania nazw kategorii: teraz tylko nazwa kategorii jest klikalna i podkreślona, treść wpisu pozostaje niepodlinkowana, co poprawia przejrzystość
- nowość – moduł mikro-dzienniki (plugin:
- wersja 1.2.0 (start systemu modułowego)
dodane:
- nowość – utworzono szkielet centralnej wtyczki
fajne-core - ładowanie i rejestracja zewnętrznych modułów przez
do_action('fajne_register_module', [...]) - strona administracyjna z listą aktywnych modułów
- struktura folderów
includes/,assets/,helpers - mechanizm sprawdzania aktywności modułów
- gotowość pod przyszłe funkcje: ustawienia, aktywacja/dezaktywacja, logowanie
- zadania nowego modułu:
- przygotować panel z opcją aktywacji/dezaktywacji modułów
- przygotować szablon
spec.mddla modułów - stworzyć pierwszy moduł testowy (
fajne-nutrition)
usunięte:
- brak
naprawione:
- brak
- nowość – utworzono szkielet centralnej wtyczki
- wersja 1.11
dodane
- Nowy formularz wyszukiwania z overlayem:
- wyświetla się po kliknięciu ikony lupy w menu,
- zamyka się po kliknięciu poza polem wyszukiwania lub przez klawisz Escape,
- animowane pojawianie się i znikanie,
- wygaszenie tła pod overlayem.
- Dynamiczne podpowiedzi wyników wyszukiwania (live search) z AJAX.
- Stylowanie formularza (ciemny tryb, zaokrąglenia, responsywność).
- Filtr do generowania tytułów dla wpisów typu micro w Jetpack Social – jeśli wpis nie ma tytułu, wykorzystywany jest początek treści.
- Blokada wysyłki newslettera Jetpack dla wpisów z kategorii innej, niż
newsletter. (sorry za zbędne maile! mam nadzieję, że teraz nie przyjdzie e-mail do zapisanych osób 🙂)
usunięte
- Przycisk zamknięcia wyszukiwarki (X) – był nieestetyczny i zbędny.
naprawione
- Formularz wyszukiwania nie był ukrywany po załadowaniu strony – poprawiono logikę widoczności.
- Nowy formularz wyszukiwania z overlayem:
- Wersja 1.1
2025-05-03
Struktura motywu
- Podzielono
style.cssna 16 osobnych plików w folderzecss/, m.in.base.css,layout.css,typography.css,responsive.css,dark.css,micro.css,changelog.css. - Zaktualizowano
functions.phptak, aby ładował wszystkie te pliki poprawnie. - Usunięto duplikat funkcji
fajne_life_enqueue_styles.
Widok strony głównej (
home.php)- Ustalono nową kolejność sekcji: mikro blog → artykuły → changelog.
- Mikro blog pokazuje 6 ostatnich wpisów w formacie
data: treść, zminimalizowano ich objętość. - Artykuły: wyświetlane są 4 ostatnie wpisy, z wykluczeniem kategorii
microichangelog. - Sekcja changelog została zmniejszona do jednej ostatniej wersji i osadzona w lekkim bloku.
- Dodano przyciski „więcej” pod każdą sekcją.
Menu i nagłówek
- Poprawiono
header.php, w tymwp_nav_menui klasęsite-title. - Dodano obsługę rozwijalnych podmenu i plik
menu.css.
Styl i spójność
- Ujednolicono wygląd tytułów sekcji (
.section-title). - Naprawiono margines nad sekcją
changelog. - Poprawiono kolory i wygląd linków.
- Dodano lekkie, subtelne przyciski
więcej.
Responsywność
- Dodano plik
responsive.cssi podstawowe style mobilne. - Rozwiązano problem z ładowaniem stylów na mobile.
Bonus
- Naprawiono układ i wygląd na iPhone’ach, w tym marginesy, fonty i przerwy między sekcjami.
- Podzielono
- Wersja 1.0
Data publikacji
2025-05-03
Typ wersji
- [x] Nowe funkcje
- [x] Zmiany stylistyczne
- [x] Techniczne fundamenty
Zmiany
- Stworzono całkowicie nowy motyw WordPress od zera, oparty na oficjalnych strukturach WP
- Dodano własne pliki:
home.php,single.php,category-micro.php,page.php,functions.php - Zaprojektowano lekki, ciemny styl z automatycznym trybem jasnym/ciemnym (
prefers-color-scheme) - Wdrożono ciemny, wycentrowany układ z prostą typografią
- Zbudowano osobną stronę microbloga z filtrowaniem wpisów po kategorii „micro”
- Wprowadzono pierwszą wersję strony changelogu (
category-changelog.php) - Dodano system wersjonowania motywu (
style.cssz wersją 1.0) - Przygotowano szkielet do dalszego rozwoju: pełna kontrola nad kodem, minimum zależności
Komentarz
To pierwszy kamień milowy w budowie własnego, w pełni kontrolowanego systemu życia, blogowania i dokumentowania zmian. Motyw fajne.life będzie rozwijany krok po kroku, w zgodzie z ideą prostoty, trwałości i przejrzystości.