v2.3.0 — Markdown / HTML, vCard contact cards & repo polish
A fairly chunky minor release. The settings page now speaks Markdown and HTML in every text field, the About-me block can attach a downloadable vCard for Personal and Business contacts, and the GitHub repo is freshly polished with a proper README, description and topics.
No data migration needed — drop in the new build (or git pull) and reload the admin.
✨ New
Markdown + HTML across every text field
Bundled Parsedown 1.7.4 (single-file, MIT) so you can drop **bold**, [link](url), lists, code spans, headings or raw HTML into:
- Site title and tagline
- Link titles and descriptions
- Category titles and descriptions
- About-me text
- Image grid overlay titles
Two helpers — lfp_render_inline() for one-line surfaces, lfp_render_text() for multi-line — keep block elements out of inline contexts. The browser tab <title> and og:* meta tags strip back to plain text via strip_tags() so a <strong> doesn't leak into the tab.
The Custom footer HTML field already accepted raw HTML — that hasn't changed.
Contact cards & vCard download
The About-me block in the General tab gains a card with two inner tabs:
- Personal — name, phone, email, website, address.
- Business — same shape; the name doubles as the company in the generated vCard.
Each tab has an "Enable" toggle. When enabled, the public landing page shows a pill "Save personal contact" / "Save business contact" button. Clicking it hits a new endpoint, /contact.vcf?type=personal|business, which serves a vCard 3.0 file with proper RFC-6350 escaping and a Content-Disposition filename.
The phone / email / website fields can also be wired up as social-button platforms via the matching icons (Phone, Email, Website) added back in v1.1.
Footer link to GitHub
The plugin-page footer's Link Front Page vX.Y.Z label now links to https://github.com/toineenzo/YOURLS-Link-Front-Page in a new tab.
🐛 Fixes
- Image-tile dialog wasn't toggling URL / keyword fields after the v2.2.1 rename.
el.dataset.lfpIgBlockwas missed by the bulk replace because dataset keys don't include the dashes. Now readsel.dataset.lfpImgridBlock.
📚 Repo polish
- README rewritten with badges, demo link, full feature breakdown, file structure, storage shape and bundled-license attribution.
- Repository description bumped to "Linktree-style homepage for YOURLS — link list, image grid, social buttons, contact cards, full design controls. PHP 8.4 compatible, no external runtime dependencies."
- Homepage set to https://toine.click.
- Topics: yourls, yourls-plugin, linktree, linktree-alternative, link-in-bio, url-shortener, self-hosted, php, php8, bio-link, vcard.
⬇️ Installation
cd /path/to/yourls/user/plugins
rm -rf yourls-link-front-page
unzip /path/to/YOURLS-Link-Front-Page-2.3.0.zip…or git pull if you cloned the repo. No database changes.
Full changelog: v2.2.1…v2.3.0