feat(v5.5.0): Embeds & Media riche - universal embeds, bookmark cards, lightbox, inline previews, cover & icon
FlowDeck CI / lint (push) Successful in 44s
FlowDeck CI / test (push) Successful in 4m10s
FlowDeck CI / docker (push) Successful in 37s

- embeds.py: provider detection/rewrite (YouTube, Vimeo, Figma, Maps, Docs,
  Loom, CodePen, Miro, Spotify, SoundCloud, Twitch, X/Twitter, Pinterest,
  Office) + resolve_embed/inline_kind/provider; POST /board/api/embed/resolve
- editor resolves pasted URLs and caches embed_src (persisted); renderer,
  public pages and MD/HTML/PDF exports prefer embed_src
- og_fetcher.py: robust meta parsing (any attribute order), favicon,
  injectable transport, network-safe fallback
- image lightbox with keyboard nav (arrows/Esc) in editor and public pages
- inline PDF/video/audio previews
- cover (URL or upload) & page icon endpoints
- fix broken editor API paths (/api/pages -> /board/api/pages) for cover,
  icon, versions, backlinks, import, move and OG metadata
- 47 tests in tests/test_v55.py; full suite 444 green; ruff clean
- version 5.11.2
This commit is contained in:
2026-09-12 09:40:50 -04:00
parent c435e277f2
commit bdc15c7328
13 changed files with 961 additions and 167 deletions
+16
View File
@@ -4747,3 +4747,19 @@ button.breadcrumb-current { max-width: 260px; }
.aici-result a { color: var(--accent,#2383E2); }
.aici-fb:disabled { opacity:.4; cursor:default; }
@media (max-width:768px){ #_aiC { width: 92vw; } }
/* v5.5.0 — Image lightbox */
.fd-lightbox { user-select: none; }
.fd-lightbox-img { animation: fdLbIn .12s ease-out; }
@keyframes fdLbIn { from { opacity: 0; transform: scale(.98); } to { opacity: 1; transform: scale(1); } }
.fd-lightbox-nav {
position: absolute; top: 50%; transform: translateY(-50%);
width: 48px; height: 48px; border-radius: 50%;
border: none; background: rgba(255,255,255,.12); color: #fff;
font-size: 30px; line-height: 1; cursor: pointer;
display: flex; align-items: center; justify-content: center;
transition: background .15s ease;
}
.fd-lightbox-nav:hover { background: rgba(255,255,255,.25); }
.fd-lightbox-nav[data-nav="prev"] { left: 24px; }
.fd-lightbox-nav[data-nav="next"] { right: 24px; }