Przejdź do treści

Widget publikacji na stronie WWW

Widget pozwala wyświetlić listę najnowszych publikacji autora lub jednostki (wydziału, katedry, zakładu — wraz z jej pod-jednostkami) na dowolnej zewnętrznej stronie internetowej. Dane pobierane są na żywo z systemu BPP — nie trzeba niczego kopiować ręcznie ani mieć konta w systemie.

Osadzenie sprowadza się do wklejenia jednej linii kodu:

<script src="https://twoj-serwer-bpp/static/embed/bpp-publikacje.js"
        data-autor="Jan-Kowalski" async></script>

Skrypt sam pobierze publikacje i wyświetli je w miejscu wklejenia. Ponieważ kod mieszka na serwerze BPP, wszelkie poprawki i ulepszenia widgetu docierają do Twojej strony automatycznie — bez ponownego wklejania.

Generator kodu

Wpisz swoje dane (autora po slugu z adresu profilu, np. Jan-Kowalski, albo jednostkę po slugu), a generator zbuduje gotowy kod oraz pokaże podgląd na żywo. Domyślnie wczytany jest przykład Uniwersytetu Medycznego w Lublinie.

  



   

  

Kod do wklejenia:

Podgląd na żywo:

Podgląd zależy od zewnętrznej instancji

Live podgląd ładuje widget z podanego serwera BPP. Działa, gdy instancja jest dostępna przez HTTPS i ma wdrożoną tę wersję BPP (z plikiem static/embed/bpp-publikacje.js). Dokumentacja jest serwowana po HTTPS, więc serwer BPP również musi być po HTTPS (inaczej przeglądarka zablokuje mixed-content).

Parametry (data-*)

Atrybut Znaczenie Domyślnie
data-autor slug lub ID autora — (wymagane jest data-autor albo data-jednostka)
data-jednostka slug lub ID jednostki (z pod-jednostkami)
data-serwer adres serwera BPP (gdy inny niż origin skryptu) origin z src
data-limit liczba pozycji (1–100) 25
data-rok-od pokaż publikacje od roku brak filtra
data-rok-do pokaż publikacje do roku brak filtra
data-styl lista lub tabela lista
data-no-css gdy obecny — pomiń domyślne style (pełna customizacja) style włączone
data-target selektor istniejącego kontenera (zamiast wstawiania za skryptem)

Dokładnie jeden z data-autor / data-jednostka jest wymagany. Identyfikator może być slugiem (czytelny, zgodny z adresem profilu — np. Jan-Kowalski) albo liczbowym ID.

Customizacja wyglądu (klasy CSS)

Widget generuje czysty, semantyczny HTML z przewidywalnymi klasami. Nadpisz je własnym CSS-em (wyższa specyficzność) albo wyłącz domyślne style przez data-no-css i ostyluj wszystko od zera.

Klasa Element
.bpp-publikacje kontener widgetu
.bpp-publikacje__lista lista (ol) w wariancie lista
.bpp-publikacje__item pozycja listy (li)
.bpp-publikacje__tabela tabela w wariancie tabela
.bpp-publikacje__wiersz wiersz tabeli (tr)
.bpp-publikacje__opis opis bibliograficzny publikacji
.bpp-publikacje__link link „[szczegóły]” do rekordu w BPP
.bpp-publikacje__link-cell komórka linku (wariant tabeli)
.bpp-publikacje__stopka stopka z licznikiem i linkiem do profilu
.bpp-publikacje__empty komunikat „brak publikacji”
.bpp-publikacje__loading stan ładowania
.bpp-publikacje__error komunikat błędu

Przykład — własne kolory i odstępy:

.bpp-publikacje__item {
  margin-bottom: 1.2em;
}
.bpp-publikacje__link {
  color: #b30000;
  font-weight: bold;
}
.bpp-publikacje__stopka {
  font-size: 0.8em;
  opacity: 0.7;
}

Uwagi techniczne

  • Bezpieczeństwo treści. Opisy bibliograficzne są przed wyświetleniem sanityzowane (dozwolone tylko tagi formatujące b, i, em, strong, sub, sup, u; usuwane są wszystkie atrybuty i znaczniki wykonywalne).
  • Wiele widgetów na stronie. Możesz wkleić kilka snippetów na jednej stronie (np. autor + jednostka) — każdy renderuje się niezależnie.
  • Brak zależności. Widget to czysty JavaScript; nie wymaga jQuery ani innych bibliotek i działa na każdej stronie HTML.
  • Aktualizacje. Kod ładuje się z serwera BPP, więc poprawki docierają automatycznie. Tempo propagacji zależy od nagłówków cache serwera BPP (ustawienie po stronie administratora instancji).