Witam wszystkich!
Chciałbym się pochwalić moim projektem strony internetowej o nazwie FilmStadt we Flask, nad którym siedziałem ponad pół roku. Jest to portal społecznościowy podobny do Facebooka, który napisałem od zera. Frameworki CSS które wykorzystałem to Bootstrap 5 i Font Awesome 6 - jednak w większości dominuje własny CSS.
Od 2015 roku marzyłem o własnym portalu społecznościowym, jednak w 2023 nabrałem wystarczających umiejętności aby wziąć się za programowanie tej aplikacji internetowej.
Chętnie wysłucham opinii na temat mojej ciężko włożonej pracy w tą stronę!
Strona na żywo: https://filmstadt.net
Screeny jak to wygląda:
@malomiasteczkowy: nikt cię tutaj nie chce w tej dyskusji, czy możesz ze swojej woli usunąć wszystkie swoje komentarze?
Kolejna rzecz, którą można zrobić w czystym HTML5, a kiedyś wymagałaby JavaScriptu
Może jest to bardziej oczywiste niż wspomniany wczoraj znacznik <details>
, ale muszę to wymienić. Tym razem W3C chce wypchnąć skrypty z formularzy. Na przykład główne zastosowanie JS z formularzami to oczywiście walidacja. Tutaj wkracza atrybut pattern
:
<input type="password" name="pin" pattern="\d\d\d\d">
Możemy za pomocą owego atrybutu ustawić wyrażenie regularne, do którego będzie musiała dopasować się zawartość pola. Jeśli nie będzie pasować, pole zostanie wyróżnione (jak? - to zależy od przeglądarki, nie możemy ustawić własnego stylu) a możliwość przesłania formularza zablokowana. Tyle że nie mamy nawet możliwości sprawdzenia od strony JS, które pole nie spełnia wytycznych (no chyba że będziemy odczytywać atrybut pattern i dopasowywać regex ale wtedy po co ten atrybut), i np. wyświetlenia iksa przy jednym z punktów na liście wytycznych bezpieczeństwa haseł.
Inną rzeczą jest możliwość stworzenia przycisku wysłania, które przed odesłaniem niejako zmodyfikuje atrybuty formularza (action, method, enctype, target...). Wystarczy użyć jednego z rodziny atrybutów form<nazwa_atrybutu_znacznika_form>
, na przykład:
<form method="GET" action="https://bing.com/search">
<label>Bing: <input type="text" name="q"></label>
<input type="submit" value="Szukaj">
<input type="submit" value="Szukaj (nowe okno)" formtarget="_blank">
</form>
Jeśli klikniemy drugi przycisk, zostanie to potraktowane tak, jakby atrybut target
formularza został ustawiony na _blank
, czyli wyniki znajdą się w nowym oknie. Mimo wszystko najlepsze możliwości daje atrybut formaction
. Wracając do przykładu wyszukiwania, możemy pozwolić użytkownikowi zdecydować, jakiej wyszukiwarki woli użyć. A w przypadku formularzy mailowych na stronie firmowej, można wstawić jedno pole tekstowe na treść, a pod nim umieścić kilka przycisków pozwalających wysłać wiadomość do wybranego działu. Atrybut formmethod
i formenctype
nie są już tak bardzo przydatne, bo zwylke skrypt serwera jest przystosowany do jednego typu danych.
Rozwijane definicje bez JS?
Tak, w HTML5 to możliwe, za pomocą taga details
:
<details>
<summary>Naglowek</summary>
<p>Tresc</p>
</details>
Oczywiście za pomocą JavaScriptu cały czas możemy kontrolować, która sekcja jest widoczna (atrybut open
). Trochę to dziwne, bo przecież z założenia HTML4+ miał być tylko treścią a prezentację i zachowanie przekładać na CSS i JavaScript, no ale tu mamy wyjątek. Jest to oficjalny znacznik W3C, nie jakiś niuans dotyczący konkretnej przeglądarki.
Gra Player vs. AI na canvasie
Tym razem przedstawiam Bubble Destroyera, grę komputerową, w której za pomocą strzałek sterujemy naszym czerwonym okrętem podwodnym w celu przebijania jak największej liczby bąbli. Po dwóch minutach gra kończy się i wyświetlane jest podsumowanie. Chodzi o to, aby przebić więcej bąbli od sterowanego przez (nie takie głupie) AI statku zielonego. Dwie minuty to mało, ale podjąłem taką decyzję, aby gracz nie martwił się, że straci zbyt dużo czasu grając.
Adres: http://manna5.c1.biz/misc/bubbled.html
Opowiem o html i tym jak robić rózne wiersze w akapitach.
Więc
to akapit i jeśli się w nim coś wpisze to będzie zwykły tekst ale, żeby był tekst w odzielnych wierszach ale w tym samym akapicie trzeba użyć
, np jeśli chcemy napisać Ala ma kot i w innym wierszu kot lubi mleko trzeba użyć
.
Robimy wtedy akapit piszemy Ala ma kota piszemy potem
i możemy potem napisać kot lubi mleko.
A jeśli chcemy 3 lub więcej linijek to powtarzamy to, że piszemy tekst w akapicie i na końscu
i kolejna linijka.
<P>Ala ma kota<br />
Kot lubi mleko</p>
Tylko typ jest mało spostrzegawczy - bo jak mu BR zostało wycięte z tekstu i zamiast tego markdown wstawił nowa linię, to nasz kołcz nic nie zrobił, żeby to jakoś obejść :(
Dziś ostatni dzień największej promocji na #ebooki związane z programowaniem i nie tylko (14 tysięcy książek i tysiąc audiobooków). Wszystko dostępne od 6,90 zł do maks. 19,90 zł.
W promocji jest np. najnowsza książka Uncle Boba (autora "Czystego kodu" - 19,90 zł ("Czysta architektura ...").
Zrobiłem panel do przeglądu wszystkich 15 tysięcy pozycji objętych promocją - jest to obecnie najszybsza dostępna w sieci opcja do przeglądu tych danych:
http://NotatnikProgramisty.pl/files/helion/promocje/11_2018/panel/
Nowości dodane do panelu w dniu dzisiejszym:
☑ Zakładka z najczęściej kupowanymi książkami w trakcie trwania tej promocji: http://NotatnikProgramisty.pl/files/helion/promocje/11_2018/panel/bestsellers.html
Ponieważ prowadzę bloga programistycznego, a w promocji jest prawie 2 tysiące książek z kategorii "informatyka", zainteresuje to pewnie osoby śledzące: #programowanie #czytniki #ebook #ebooki #programista15k #java #javascript #php #python #nauka #html #html5 #ebookpoint #elektronika
@Martine Social Group: o jej, no i co teraz? moze dlatego ze jestem ukrytym adminem tutaj xDDDD myslales ze jak ty zablokujesz kogos na forum to on ma bana i nie moze wejsc ani pisac? hahahahaah xDDDDD