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).