Modern, responsive and PDF-focused Markdown editor. ✨
Create, preview and export beautiful Markdown documents with ease.
MarkForge is a Markdown workspace built with Next.js 16 (App Router), React 19 and Tailwind CSS 4. It provides live preview, PDF export, file upload, and a bilingual TR/EN interface.
- Production:
https://markforge.netlify.app
-
Live Markdown Editor
- Markdown input on the left, instant HTML preview on the right.
- Powered by
react-markdown,remark-gfmandrehype-raw:- GFM (tables, checkboxes,
strikethrough, links, etc.) - HTML blocks and
details/summarysupport.
- GFM (tables, checkboxes,
-
Syntax Highlighting for Code Blocks
rehype-highlight+highlight.jsfor language detection and highlighting.- Consistent dark theme both in-app and in the generated PDF.
-
PDF Export
- Preview panel can be opened in a new tab for print/PDF view.
- PDF options:
- Font size: 8–14 pt (0.5 steps).
- Line wrapping for long code lines (no horizontal overflow).
- PDF footer:
- TR:
Bu PDF MarkForge ile oluşturulmuştur. - EN:
This PDF was generated with MarkForge. - Clickable MarkForge logo.
- TR:
-
File Upload
- Accepts
.mdand.markdownfiles:- File picker button
- Drag & drop area
- Elegant modal for invalid file types (no native
alert).
- Accepts
-
TR / EN Localization
- Built with
i18nextandreact-i18next:- Navbar labels
- All buttons and modals
- Empty-state and error messages
- Static strings in the PDF
- Instant language switch via TR / EN buttons in the navbar.
- Built with
-
Version History
- Content is stored in
localStorage. - Defaults:
- Snapshot taken 2 seconds after changes.
- Up to 50 versions are kept.
- History modal:
- Timestamped entries with content preview
- Delete version and restore with a single click.
- Content is stored in
-
Table & Link Modals
- Table modal:
- Generates Markdown tables from row / column counts.
- Link modal:
- URL + optional label field.
- Uses selected text as the label when available, otherwise falls back to the URL.
- Table modal:
-
Mobile Experience
- Below 1024px:
- Navbar: MarkForge on the left, waving Turkish flag GIF centered, animated hamburger menu on the right.
- Hamburger → full-width mobile menu:
- Top: File upload (full width)
- Next row: History & PDF buttons on the same line
- Bottom-right: TR / EN language toggle
- Below 768px (content):
- First view: only the editor, full-height single column.
- Right arrow in the editor header to slide to the preview.
- Left arrow in the preview header to slide back to the editor.
- Below 1024px:
-
Usability Enhancements
- “Scroll to top” buttons for both editor and preview (visible based on scroll).
- Word / character counter:
- TR:
X kelime · Y karakter - EN:
X words · Y characters
- TR:
Clone the repository and install dependencies:
git clone <REPO_URL>
cd toolsformarkdownfiles
npm installStart the development server:
npm run devThen open http://localhost:3000 in your browser.
-
Development:
npm run dev
-
Production build:
npm run build
-
Production server:
npm run start
-
Lint:
npm run lint
-
Frameworks & Languages
- Next.js 16 (App Router)
- React 19
- TypeScript
-
Styling & UI
- Tailwind CSS 4
@tailwindcss/typography
-
Markdown & PDF
react-markdownremark-gfmrehype-rawrehype-highlight
-
Internationalization
i18nextreact-i18next
-
Animation
framer-motion
If you find a bug or have an idea for improvement, feel free to open an issue or submit a pull request.
If you like the project, consider starring it on GitHub.
MarkForge is released under a custom non-commercial, source-available license.
You are free to read, use, modify and share the code for non-commercial purposes.
Any commercial use (products, services or SaaS that generate revenue) requires a separate commercial license from the author.
For full terms, see the LICENSE file.
-
Canlı Markdown Editörü
- Sol tarafta Markdown girişi, sağda anlık HTML önizleme.
react-markdown,remark-gfmverehype-rawile:- GFM (tablo, checkbox,
üstü çizili, link vb.) - HTML blokları ve
details/summarydesteği.
- GFM (tablo, checkbox,
-
Kod Bloklarında Syntax Highlighting
rehype-highlight+highlight.jsile dil tespiti ve vurgulama.- Uygulama içinde ve PDF çıktısında tutarlı koyu tema.
-
PDF Çıktısı
- Önizleme paneli; yeni sekmede yazdırma/PDF görünümüne açılır.
- PDF ayarları:
- Yazı boyutu: 8–14 pt (0.5 adım ile).
- Kod bloklarında uzun satırlar için satır kırma (yan tarafta taşma yok).
- PDF altbilgisi:
- TR:
Bu PDF MarkForge ile oluşturulmuştur. - EN:
This PDF was generated with MarkForge. - Tıklanabilir MarkForge logosu.
- TR:
-
Dosya Yükleme
.mdve.markdowndosyaları:- Dosya seçme butonu
- Sürükle-bırak bölgesi
- Geçersiz uzantılarda şık modal uyarı (native
alertkullanılmıyor).
-
TR / EN Dil Desteği
i18nextvereact-i18nextile:- Navbar metinleri
- Tüm butonlar ve modallar
- Boş ekran mesajları, hata mesajları
- PDF’teki statik metinler
- Navbar’da TR / EN butonları ile anında dil değişimi.
-
Versiyon Geçmişi
- İçerik
localStorageiçinde saklanır. - Varsayılan:
- Değişiklikten 2 sn sonra snapshot alınır.
- En fazla 50 versiyon tutulur.
- Versiyon geçmişi modalı:
- Tarih/saat + içerik önizlemesi
- Versiyon silme ve tek tıkla geri yükleme.
- İçerik
-
Tablo & Link Modalı
- Tablo modalı:
- Satır / sütun sayısı girerek otomatik Markdown tablo oluşturur.
- Link modalı:
- URL + isteğe bağlı görünen metin alanı.
- Seçili metni otomatik olarak etiket olarak kullanır; yoksa URL’yi kullanır.
- Tablo modalı:
-
Mobil Deneyim
- 1024px altında:
- Navbar: solda MarkForge, ortada dalgalanan Türk bayrağı GIF’i, sağda animasyonlu hamburger menü.
- Hamburger → tam genişlikli mobil menü:
- Üstte: Dosya yükle (full width)
- Altında aynı satırda: History & PDF butonları
- Sağ altta: TR / EN dil seçimleri
- 768px altında içerik:
- İlk görünüm: yalnızca markdown girişi, tek sütun ve tam yükseklikte.
- Editör başlığındaki sağ ok ile önizlemeye geçiş (kayma animasyonu).
- Önizleme başlığındaki sol ok ile tekrar editöre dönüş.
- 1024px altında:
-
Kullanılabilirlik İyileştirmeleri
- Editör ve önizleme için “En yukarı” butonları (scroll’a göre görünür).
- Kelime / karakter sayacı:
- TR:
X kelime · Y karakter - EN:
X words · Y characters
- TR:
Projeyi klonlayın ve bağımlılıkları yükleyin:
git clone <REPO_URL>
cd toolsformarkdownfiles
npm installGeliştirme sunucusunu başlatın:
npm run devArdından tarayıcıda http://localhost:3000 adresine gidin.
-
Geliştirme:
npm run dev
-
Prod build:
npm run build
-
Prod server:
npm run start
-
Lint:
npm run lint
-
Çatılar & Diller
- Next.js 16 (App Router)
- React 19
- TypeScript
-
Stil & UI
- Tailwind CSS 4
@tailwindcss/typography
-
Markdown & PDF
react-markdownremark-gfmrehype-rawrehype-highlight
-
Uluslararasılaştırma
i18nextreact-i18next
-
Animasyon
framer-motion
Hata bulduysanız veya geliştirme öneriniz varsa lütfen issue açın ya da pull request gönderin.
Projeyi beğenirseniz GitHub’da yıldızlamayı unutmayın. 🙂
MarkForge, özel bir ticari olmayan, kaynak-kodu açık (source-available) lisans ile dağıtılır.
Kodu ticari olmayan amaçlarla inceleyebilir, kullanabilir, değiştirebilir ve paylaşabilirsiniz.
Her türlü ticari kullanım (gelir getiren ürün, servis veya SaaS içinde kullanım) için yazar ile ayrıca ticari lisans anlaşması yapılması gerekir.
Detaylar için LICENSE dosyasına bakabilirsiniz.