Nagłówek

W takcie tego kursu już wielokrotnie wykorzystywaliśmy znacznik nagłówka <head> w celu umieszczenia w nim tytułu dokumentu (znacznik <title>), importowania plików CSS (znacznik <meta>) oraz bezpośredniego osadzania CSS (znacznik <style>). W tej lekcji rozwiniemy temat nagłówka dokumentu i powiemy sobie, jakie inne przydatne tagi możemy w nim umieścić.

Dla przypomnienia, znaczniki w nagłówku oraz znajdujące się w nich dane nie są wyświetlane na stronie. W nagłówku umieszczamy dodatkowe dane, które opisują oraz niejako konfigurują naszą stronę. Owa konfiguracja odbywa się najczęściej za pomocą tagów <meta> oraz odpowiednim ustawieniu wartości ich właściwości. To właśnie od znacznika <meta>, dane znajdujące się w nagłówku często nazywamy “metadanymi”.

Poza <meta> w nagłówku znajdziemy również poniższe znaczniki:

  • link
  • title
  • style
  • script
  • noscript

Podstawowe znaczniki

Zaczniemy od znaczników, które powinniśmy umieszczać niemal na każdej nowo tworzonej stronie. Znaczniki te są dodawana w VS Code, gdy skorzystamy z Emmeta i za jego pomocą utworzymy pusty szablon HTML:

<head>
  <!-- Ustawiamy sposób kodowania znaków na stronie. UTF-8 jest standardem 
  i powinniśmy używać go w większości przypadków. -->
  <meta charset="UTF-8" />
  <!-- W przypadku otwarcia strony na przeglądarce IE 8/9/10
  (czyli bardzo starej), wymuszamy renderowanie strony za pomocą
  najnowszego dostępnego dla tych przeglądarek silnika.  -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <!-- Ustawiamy w jaki sposób strona ma zostać wyświetlona na urządzeniach
  mobilnych. "width=device-width" oznacza, iż wartość viewportu powinna zostać
  ustawiona na wartość równą szerokości ekranu. "initial-scale=1.0" z kolei oznacza,
  iż strona nie powinna zostać pomniejszana na urządzenaich z małym ekranem. -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <!-- Tytuł dokumentu - wyświetlany również na zakładce w przeglądarce. -->
  <title>Document</title>
</head>

Przydatne znaczniki

<head>
  <!-- Bazowy adres URL, którego należy użyć dla wszystkich względnych adresów.
  Jeżeli przykładowo na naszej stronie umieścimy link <a href="/kontakt">,
  będzie on wskazywał na "https://example.com/kontakt" -->
  <base href="https://example.com" />
  <!-- Znany nam już sposób na importowanie plików do dokumentu HTML. -->
  <link rel="stylesheet" href="styles.css" />
  <!-- Znany nam już sposób na umieszczanie CSS w dokumencie. -->
  <style>
    div {
      color: red;
    }</style>
  <!-- Poniższe znaczniki dotyczą nieomawianego w tym kursie JavaScript. -->
  <!-- Uruchomienie kodu JavaScript z pliku. -->
  <script src="script.js"></script>
  <!-- Umieszczenie kodu JavaScript (podobnie jak CSS), wewnątrz pliku HTML -->
  <script>
    // kod JavaScript
  </script>
  <!-- Jeżeli nasza strona korzysta głównie z JavaScript, to użytkonik który
  w swojej przeglądarce zablokuje możliwość wykonywania kodu JavScript może
  nic na naszej stronie nie zobaczyć. Dzięki poniższemu znacznikowi możemy
  pokazać użytkownikowi stosowną informację albo prośbę o uruchomienie JavaScript -->
  <noscript>
    <!-- Kod HTML wyświetlony w przypadku, gdy użytkownik zablokował
    JavaScript na stronie. -->
  </noscript>
</head>

Facebook Open Graph

Jeżeli kiedykolwiek zastanawialiście się, jak generowane są podglądy linków wklejanych do posta lub komentarza, to już będziecie znali odpowiedź. Facebook sprawdza metadane strony i poszukuje w nich specyficznych danych zaczynających się od og:. Są to tak zwane znaczniki open graph. To na ich podstawie Facebook generuje wspomniany już podgląd. Jeżeli więc chcemy, aby link do naszej strony wyglądał poprawnie, nie możemy o nich zapomnieć. —>

Jeżeli chcemy sprawdzić, jak dany link wygląda na FB, możemy użyć do tego celu narzędzia udostępnionego przez Facebook – debugger. Uwaga – link musiał już kiedykolwiek znaleźć się na Facebooku.

Znaczniki Open Graph:

<head>
  <!-- Jeżeli stworzyliśmy na FB aplikację, tutaj podajemy jej ID.
  Niestey HTML i CSS nie wystarczą do tworzenia takich aplikacji 🙂 -->
  <meta property="fb:app_id" content="123456789" />
  <!-- Link do którego zostaniemy przekierowani po kliknięciu.  -->
  <meta property="og:url" content="https://example.com/page.html" />
  <!-- Typ strony. Najczęściej użyjemy tutaj "article" dla posta na blogu
  lub "website" dla normalnej strony. -->
  <meta property="og:type" content="website" />
  <!-- Tytuł strony. Jeżeli nic tu nie ustawimy, to FB użyje tagu <title> -->
  <meta property="og:title" content="Tytuł strony" />
  <!-- Jeden z najważniejszych tagów, czyli grafika, która pojawi się na
  FB i będzie przyciągała uwage przeglądających. -->
  <meta property="og:image" content="https://example.com/image.jpg" />
  <!-- Opis tego co znajduje się na grafice. -->
  <meta
    property="og:image:alt"
    content="Opis tego co znajduje się na grafice"
  />
  <!-- Opis strony -->
  <meta property="og:description" content="Opis strony" />
  <!-- Jeżeli dana strona jest częścią większej platformy, wtedy tutaj możemy
  umieścić nazwę platformy/strony głównej. 
  Np. dla pojedynczej aukcji na Allegro, ta wartość może mieć wartość "Allegro". -->
  <meta property="og:site_name" content="Nazwa Strony" />
  <!-- Informacje lokalizacyjne w formacie język_Terytorium -->
  <meta property="og:locale" content="pl_PL" />
</head>

Pełną dokumentację Open Graph znajdziemy pod tym linkiem: The Open Graph protocol.

X (ex. twitter) Card

Podobnie jak w przypadku Facebooka, Twitter wymaga specyficznych dla siebie metadanych w celu poprawnego wyświetlania linków na jego stronie.

<head>
  <!-- Rodzaj użytej karty na Twitterze.
  Dozwolone wartości: "summary", "summary_large_image", "app", "player" -->
  <meta name="twitter:card" content="summary" />
  <!-- Link do określonej strony na Twitterze. -->
  <meta name="twitter:site" content="@nazwa_strony" />
  <!-- Link do określonej osoby na Twitterze. -->
  <meta name="twitter:creator" content="@nazwa_konta" />
  <!-- Link do którego ma prowadzić karta po jej klknięciu. -->
  <meta name="twitter:url" content="https://example.com/post.html" />
  <!-- Tytuł karty. -->
  <meta name="twitter:title" content="Tytuł karty" />
  <!-- Opis karty. -->
  <meta name="twitter:description" content="Opis karty" />
  <!-- Grafika na karcie. -->
  <meta name="twitter:image" content="https://example.com/image.jpg" />
  <!-- Opis grafiki na karcie. -->
  <meta
    name="twitter:image:alt"
    content="Opis tego co znajduje się na karcie"
  />
</head>

W tej lekcji omówiliśmy sobie tylko najbardziej użyteczne metadane występujące w nagłówku strony. Myślę, że pokrywają one niemal wszystkie znaczniki, które przyjdzie nam używać podczas tworzenia naszych pierwszych stron internetowych.

🕵️ Portfolio

Nagłówek naszego portfolio jest dość ubogi i zawiera jedynie najbardziej podstawowe znaczniki. Rozbuduj go o poznane w tej lekcji tagi i nie zapomnij o umieszczeniu tagów og:***. Gdy już dowiemy się jak hostować naszą stronę i będziemy posiadali jej adres URL, wtedy możemy stworzyć sobie jakąś testową grupę na Facebooku i tam wkleić link do strony. Ciekawe, czy uda Ci się wygenerować ładną kartę podglądu linku 🙂

Masz pytania lub uwagi?

discord icon Przejdź na Discord
Masz pytanie? Napisz do nas 👇
kontakt@frontstack.pl
Copyright © 2023 Frontstack