Створити

UJ4: Зробив редактор

Доробив редактор, котрий працює з Markdown розміткою і підтримує обмежений набір форматування.

Особливості:

  • Перетворює скопійований HTML на Markdown, при копіюванні тексту з редактору копіюється Markdown
  • Видаляє всі посилання з HTML і вставляє їх як список посилань у кінці тексту
  • Підтримує вставку і автоматичне завантаження зкопійованих зображень і редагування ALT зображення
  • Підтримує вставки з сайтів: api.soundcloud.com, clips.twitch.tv, codepen.io, dailymotion.com, facebook.com, fb.com, figma.com, giphy.com, i.giphy.com, instagram.com, linkedin.com, loom.com, m.facebook.com, media.giphy.com, new.reddit.com, old.reddit.com, open.spotify.com, pin.it, pinterest.ca, pinterest.co.uk, pinterest.com, reddit.com, soundcloud.com, steamcommunity.com, store.steampowered.com, t.me, telegram.dog, telegram.me, threads.com, threads.net, tiktok.com, twitch.tv, twitter.com, vimeo.com, w.soundcloud.com, x.com, youtube.com, youtu.be, bsky.app, mastodon.social
  • Всі посилання вставляються в редактор як окремі картки, тобто посилання в тексті не підтримуються. Зроблено для більшої прозорості — можна переглянути домен, title, icon посилання

Доступен як NPM пакет: 

Мінімальний код для інтеграції редактора:

<script>
  window.__UPLOAD_API_BASE__ = "https://uploads.commently.top";
  window.__DISCOVER_API_BASE__ = "https://discover.commently.top";
  window.__IMAGE_UPLOAD_JWT_URL__ = "/upload-jwt";
</script>
<script src="https://unpkg.com/commently-editor" defer></script>
<textarea id="create_content" name="content" required placeholder="Напишіть щось..."></textarea>
<commently-textarea-editor for="create_content"></commently-textarea-editor>

Редактор привʼязується до <textarea> і сумісний зі звичайним <form>, тож можна інтегрувати його у будь який сайт де потрібно мати редагування Markdown.

Змінні __UPLOAD_API_BASE__, __DISCOVER_API_BASE__ – відповідають сервісам які займаються аплоадом зображень і генерацією картки вставки по URL,  __IMAGE_UPLOAD_JWT_URL__ — це ендпоінт для генерації JWT токена, який використовуються для авторизації у сервісі завантаженя зображень.

Обговорення