Ücretsiz · MIT · açık kaynak
Her siteye takılanücretsiz metin editörü.
Bir <script> ve bir <textarea> yeter. Görsel yükleme, tablolar, video, Word açıp kaydetme: hepsi MIT lisanslı, ücretli katmanı yok.
- Ücretli katman yok
- WCAG 2.2 AA
- Varsayılan güvenli
Puan için en az 10 kelime yazın.
- Kelime
- 23
- Cümle
- 4
- Ort. cümle
- 5,8
- Okuma
- 1 dk
Okunabilirlik puanı: 72/100
Bu kutu gerçek bir viveEditor. İçine yazdıkça yukarıdaki sayı yeniden hesaplanır.
Kısa cümleler ve sık kullanılan kelimeler metni kolaylaştırır. Uzun cümleler puanı düşürür.
Canlı deneme
Bütün araçlar, bu sayfada.
Tablo ekleyin, Word dosyası açın, formül yazın, @ ile birini anın, : ile emoji seçin. Boş satırda / yazınca blok menüsü açılır.
Özellikler
Yazanın işine yarayan her şey, ücretsiz.
Her özellik ayrı bir paket. Ağır parçalar yalnız kullanıldığında iner.
Word'den temiz yapıştırma
Word'ün sahte madde işaretleri gerçek iç içe listelere döner. Google Dokümanlar'ın yanlış iç içe listeleri düzelir.
Word ve Markdown aç, kaydet
.docx, .md, .html ve .txt dosyalarını açar; Word, Markdown ya da HTML olarak kaydeder ve yazdırır.
Türkçe bul ve değiştir
Arama Türkçe büyük harfleri doğru eşler: “İSTANBUL” araması “istanbul”u bulur.
Gizliliği koruyan video
YouTube, Vimeo ve Spotify bağlantıları oynatıcıya döner. Oynat’a basılana kadar sağlayıcıdan hiçbir şey yüklenmez.
Tablolar
Hücre birleştirme, başlık satırı ve sütun genişliği; Word dosyalarında da korunur.
Formül, dipnot, bahsetme
LaTeX formülleri, yerinde düzenlenen dipnotlar, @ ile bahsetme, emoji ve şablonlar npm eklentisi olarak gelir.
Kurulum
Bir dakikada sayfanızda.
Derleme adımı olmadan bir betikle, ya da React, Vue, Svelte ve Angular için türlü paketlerle.
Form gönderildiğinde metin alanının adıyla temiz HTML gider. Sunucuda yine de temizleyin.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/viveeditor@x.y.z/dist/viveeditor.css" />
<script src="https://cdn.jsdelivr.net/npm/viveeditor@x.y.z/dist/viveeditor.classic.iife.js"></script>
<form method="post">
<label for="body">Makale</label>
<textarea id="body" name="body" data-editor required></textarea>
</form>Yalnız istediğiniz eklentileri alın; her biri ayrı paket.
import { Editor } from '@viveeditor/core'
import { basicExtensions } from '@viveeditor/ext-basic'
import { listExtensions } from '@viveeditor/ext-list'
const editor = await Editor.create(document.querySelector('#editor'), {
extensions: [...basicExtensions, ...listExtensions],
content: '<p>Hello <strong>world</strong></p>',
label: 'Makale metni',
})
editor.on('change', () => console.log(editor.getHTML()))React 18 ve 19. Paket "use client" olarak işaretli.
import { ViveEditor } from '@viveeditor/react'
import 'viveeditor/style.css'
<ViveEditor value={html} onChange={setHtml} locale="tr" label="Makale metni" />Vue 3.5, v-model ile.
<script setup>
import { ViveEditor } from '@viveeditor/vue'
import 'viveeditor/style.css'
</script>
<template>
<ViveEditor v-model="html" locale="tr" label="Makale metni" />
</template>Svelte 5, bind:value ile.
<script>
import { ViveEditor } from '@viveeditor/svelte'
import 'viveeditor/style.css'
let html = $state('')
</script>
<ViveEditor bind:value={html} locale="tr" label="Makale metni" />Angular 21 ve 22; ngModel ya da reactive forms.
import { ViveEditorComponent } from '@viveeditor/angular'
@Component({
imports: [ViveEditorComponent, ReactiveFormsModule],
template: `<vive-ng-editor [formControl]="body" locale="tr" label="Makale metni" />`,
})
class ArticleForm {
body = new FormControl('')
}Her sayfada form alanı: değerini formla gönderir, required iken boşsa gönderimi durdurur.
<script type="module">
import '@viveeditor/element/define'
</script>
<form>
<vive-editor name="body" required locale="tr" label="Makale metni"></vive-editor>
</form>Laravel 12+ ve PHP 8.4+: Blade bileşeni, editör dosyaları ve PHP temizleyici.
composer require viveeditor/laravel
php artisan vendor:publish --tag=viveeditor-assets
<head>
@viveeditorScripts
</head>
<x-viveeditor::editor name="body" id="body" :value="old('body', $post->body)" required />
<article>@viveHtml($post->body)</article>CDN adresinde her zaman tam sürüm kullanın; ek dosyalar o sürüme gömülü parmak izleriyle denetlenir.
Güvenlik ve gizlilik
Varsayılan olarak güvenli.
Tarayıcı bir güvenlik sınırı değildir. viveEditor bu yüzden hem editörde hem sunucuda aynı kuralları uygular.
Belge şeması bir izin listesi
Tanınmayan biçim çıktıya hiç ulaşmaz; yapıştırılan, açılan ve şablondan gelen içerik aynı kurallardan geçer.
Node ve PHP aynı çıktıyı verir
@viveeditor/sanitize ve viveeditor/sanitizer tek izin listesini ve tek test derlemini paylaşır.
Oynatıcılar yeniden kurulur
Kaydedilen HTML verilen adresi tutmaz; sağlayıcı ve video kimliğinden sabit sandbox ile yeniden kurulur.
Görsel adresleri denetlenir
Görseller https adresi ister; her adres ve yüklenen her dosya belgeye girmeden önce denetlenir.
Kendiliğinden hiçbir yere bağlanmaz
Editör yazı tipi indirmez, izleme yapmaz. Yapay zekâ eklentisi bile yalnız sizin sunucunuza konuşur.
Erişilebilir
Açık ve koyu temada WCAG 2.2 AA; tam klavye denetimi ve ekran okuyucu duyuruları.
Başlamaya hazır mısınız?
Belgeler kurulumdan sunucuda temizlemeye kadar her adımı gerçek API ile anlatır.