Show HN: Nash - Tek bir HTML dosyasıyla yapılmış bağımsız not
(keepworking.github.io)- Nash, ayrı bir hizmet gerektirmeden web tarayıcısında açılıp düzenlenen HTML tabanlı bağımsız bir not aracıdır
- Kaydedilen notlar çevrimdışıyken de düzenlenebilir; hedefi, Notion ya da Word yerine bir belge dosyası gibi ele alınan bir yaklaşım sunmaktır
- Statik bloglar, tek sayfalık içerikler veya galerideki pizza fotoğraflarını eklemek gibi HTML belge tipi içerikler üretmek için kullanılabilir
- Mesajlaşma uygulamalarıyla gönderildiğinde önizleme olarak görüntülenebilir; böylece uzun içerikleri dosya gibi paylaşma akışı da mümkün olur
- Nash açık kaynak olarak yayımlanmıştır ve boş not sayfası serbestçe düzenlenip kullanılabilir
Yalnızca tarayıcıyla kullanılan HTML notu
- Nash, HTML olarak not fikrini hedefleyen bağımsız bir not aracıdır
- Ayrı bir yazılım ya da hizmet gerekmez; genellikle kurulu olan bir web tarayıcısı yeterlidir
- Kaydedilen notlar çevrimdışı düzenlemeyi destekler
- Boş not nash.html üzerinden açılabilir
Oluşturulabilecek içerikler ve paylaşım biçimi
- Statik bloglar veya tek sayfalık içerikler oluşturmak için kullanılabilir
- Galerideki fotoğrafları ekleyerek içerik hazırlamak da mümkündür
- Mesajlaşma uygulamalarıyla gönderildiğinde önizleme olarak görülebilir; bu da uzun içeriklerin paylaşımında kullanılmasını sağlar
- Tek bir HTML ile basit fikirlerin POC'unu hazırlama deneyiminden yola çıkmıştır ve ayrı bir hizmet ya da yazılım olmadan çalışan bir belge dosyası üretmeye yönelik ilk denemedir
- Nash açık kaynak olarak yayımlanmıştır; serbestçe düzenlenip kullanılabilir
2 yorum
Nash, tek bir HTML ile çalışan notlar
Bunu Show GN'de paylaşmıştınız, Hacker News'e de göndermişsiniz ve epey oy almışsınız. Tebrikler!
Hacker News yorumları
İşin ağır kısmının önemli bir bölümü basit ama güçlü bir HTML özniteliği ile hallediliyor; şaşırtıcı olan, bunu bilen geliştirici sayısının pek fazla görünmemesi
Oldukça uzun zamandır var olan bir özellik
Writely daha sonra Google Docs olan girişimdi; bunu kurucularından biri olarak söylüyorum
Kalan %90 ise, tarayıcıya göre değişen tuhaf contenteditable uygulama hataları yüzünden düzenleme içeriğini düzgün senkronize etmek için yazmak zorunda kaldığımız backend koduydu :-)
Ama (1) WP stilini düzenlemek fazla uğraştırıcıydı ve bakımını yapmak istemiyordum, (2) eklenti işlevlerine ve WP yükseltmelerine bağımlı olmak istemiyordum, (3) erişim izinleri farklı olan kişilerin aynı sayfanın farklı bölümlerini düzenleyebilmesini istiyordum; çoğu CMS'te bu fiilen imkânsızdı
Bu yüzden neredeyse sıfırdan, yalnızca contenteditable ve TinyMCE tabanlı bir CMS yaptım ve düzenlenebilir alanlara bu etiketi ekledim. Tabii kaydetmeden önce backend tarafında kimin neyi düzenleyebileceğini kontrol ediyordum
Müşteri ya da çalışan giriş yaptığında, yetkisi olan sayfa alanlarını doğrudan düzenleyebiliyordu ve CMS düzenlenebilir kısımları noktalı bir kenarlıkla gösteriyordu. Yazı tipleri ve renkler TinyMCE ayarlarında saklandığı için HTML'i kurcalamaya gerek kalmıyordu. İsterlerse elle de kurcalayabiliyorlardı
Müşteri açısından oldukça sihirli hissettiriyordu. Çünkü değişiklikten sonra nasıl görüneceğini görmek için ayrı bir düzenleme sayfasına gitmek gerekmiyor; sayfa üzerinde yerinde düzenleme yapıp kaydedince anında yayınlanıyordu
Bu sitelerin çoğu bugün, aradan 5-10 yıl geçmesine rağmen hâlâ çalışıyor ve benim tarafımda neredeyse hiç bakım gerektirmiyor
https://news.ycombinator.com/item?id=43179649
contenteditable="true"koyarak bir PDF düzenleyici yapmıştımSanırım 20 yıl önce ben de bununla bir şeyler yapmıştım
ContentEditable ilk olarak 2000'de IE 5.5'te sunuldu ve 2007'de tüm büyük tarayıcılarda kullanılabiliyordu
Buna bayıldım; kaynağa bakınca saf JavaScript ile yazılıyor olması daha da hoşuma gitti
Bugünlerde, kütüphane ya da framework olmadan da epey etkileşimli web uygulamaları yapılabildiği yeterince takdir edilmiyor
Basit bir yerel web uygulamasını tek bir HTML sayfası olarak yapma fikri de harika. Bir ara çocuğumla bilim müzesine gitmiş, basit bir stop-motion animatör denemiştik; sonra benzer bir web uygulaması yapıp tek HTML dosyası olarak çocuğumun dizüstüne kopyaladım ve internet olmadan da kullanabildi
Yine de ben saf JavaScript'i doğrudan yazmaya üşendiğim için React ve bir bundler ile yaptım; çıktı da tek bir HTML dosyası olarak paketlendi. Belki bir gün Show HN'de paylaşırım
Normal saf JavaScript ve düzgün bir beceri seviyesiyle, neredeyse her şeyi daha temiz ve bakımı daha kolay şekilde yapabilirsiniz
On yıllardır başkalarının yazdıklarının bakımını yaptıktan sonra şunu gördüm: zeki bir insanın yaptığı aptalca derecede basit tasarım, diğer kombinasyonların çoğunu geride bırakıyor
Güzel yapılmış
Sayfa yerel diskten tarayıcıda açıldığında otomatik olarak düzenleme moduna geçmesi, ama birinin web sitesine yayımlanıp açık web üzerinden erişildiğinde normal salt okunur görünüm olarak davranması da düşünülebilir. Bunun için adresin http/https olup olmadığına bakmak yeterli
Elbette, düzenleme modunda da görüntüleyebilmek için sorgu dizesi parametresi ya da sihirli bir URL fragment'i gibi bir geçiş yolu olmalı
Ayrıca belirli domain'ler veya URL önekleri için istisna tanımlanabilmeli. Varsayılanı keepworking.github.io ya da <https://keepworking.github.io/nash/> yaparsanız, o sitede de düzenleme modu açık olur ve demo için ayrıca bir şey yapmanız gerekmez
Bu istisnalar kullanıcı tarafından değiştirilebilirse daha da iyi olur. Böylece başkaları da 1. maddedeki numaraya gerek kalmadan aynı davranışı elde edebilir
Bana kalırsa mükemmel; şu anki haliyle bırakılmalı
https://rpdillon.net/redbean-tiddlywiki-saver.html kullanılırsa, “gerçekten” kaydeden kendi kendine yeten taşınabilir bir uygulamaya dönüştürülebilir
Böylece istenildiğinde kişisel yer imleri işlevine çok daha yaklaşmış olur
Güzel. Bu fikirden ve TiddlyWiki'den söz eden önceki bir tartışma vardı
https://news.ycombinator.com/item?id=43179649
Keşke tarayıcılar yerel web uygulamalarını daha iyi desteklese
Yerel dosyalar kalıcı depolamaya kolayca erişebilseydi, hızlı ve kolay GUI uygulamaları için pek çok fırsat açılabilirdi. Bu, bir bakıma Electron'un ters yönü olurdu
Harika. Web sitesinin JavaScript kısmını gerçek HTML'in dışında yazmaya o kadar alışmışım ki, ilk gördüğümde “vay be, bunu sadece HTML ile yapmak mümkünmüş” diye düşündüm
Ama kaynağa bakınca JavaScript'in sıradan bir
scriptetiketi içinde olduğunu gördüm ve bunun da mümkün olduğu gerçeğini yeniden hatırladımHer gün gördüğümüz ekranların çoğu, hatta kod editörleri bile HTML sayfası
Daha şaşırtıcı olan, insanların framework kullanırken HTML'in içine JavaScript bile olmayan şeyler koyması ve sonradan dışarıdaki JavaScript'in eklenmesi ya da hydration yapılması gereken yapılar kullanması. İki tarafın da kötü yanlarını birleştirmiş gibi geliyor
Ben karşı tarafa daha yakınım; merkezde JavaScript var ve
index.htmldışında.htmluzantılı dosyam yok. JavaScript'in içine de HTML koymuyorum. Parça şablonların hepsi.htmve DOM'a eklenmeden önce hydrate ediliyorDüzenleme yaptıktan sonra kaydetmeden sayfayı kapatmaya çalışırken bir uyarı çıkması iyi olurdu
onbeforeunloadişleyicisi eklemeyi düşünebilirsinizBöyle basit araçları seviyorum. Kısa süre önce basit, özel bir “ana sayfa”/gösterge paneli yaptım: https://github.com/rcarmo/onepage-by-spec
Gerçekten çok iyi. Yerelde kolayca yapılabilen ve zaten uzun süredir yapılabilen işlevleri aboneliğin arkasına saklayan ve yapay kısıtlar koyan yazılımların bu kadar artması can sıkıcı
Yalnızca tarayıcıda çalışan ve yeni File System Access API üzerinden yerel dosyaları düzenleyebilen ücretsiz bir Markdown editörü yapıyorum. Bu API yalnızca Chromium tabanlı tarayıcılarda mümkün
https://zareith.github.io/chillmd/