Show HN: Nash - Catatan mandiri yang dibuat dengan satu file HTML
(keepworking.github.io)- Nash adalah catatan mandiri berbasis HTML yang dibuka dan diedit di browser web tanpa layanan tambahan
- Catatan yang disimpan dapat diedit bahkan saat offline, dengan tujuan ditangani seperti file dokumen sebagai pengganti Notion atau Word
- Dapat digunakan untuk membuat konten berbentuk dokumen HTML seperti blog statis, konten satu halaman, atau lampiran foto pizza di galeri
- Jika dikirim lewat messenger, kontennya bisa dilihat lewat pratinjau, sehingga alur berbagi konten panjang seperti berbagi file juga dimungkinkan
- Nash dirilis sebagai open source, dan halaman catatan kosongnya bisa dimodifikasi dan digunakan dengan bebas
Catatan HTML yang digunakan hanya dengan browser
- Nash adalah catatan mandiri yang mengusung konsep note as HTML
- Tidak memerlukan software atau layanan tambahan, dan bisa digunakan hanya dengan browser web yang umumnya sudah terpasang
- Catatan yang disimpan mendukung pengeditan offline
- Catatan kosong dapat dibuka di nash.html
Jenis konten yang bisa dibuat dan cara membagikannya
- Dapat digunakan untuk membuat blog statis atau konten satu halaman
- Juga memungkinkan penulisan konten seperti melampirkan foto yang ada di galeri
- Jika dikirim lewat messenger, kontennya bisa dilihat lewat pratinjau sehingga dapat dimanfaatkan untuk berbagi konten panjang
- Berawal dari pengalaman membuat POC ide sederhana dengan satu HTML, ini adalah upaya pertama untuk membuat file dokumen yang berjalan tanpa layanan atau software tambahan
- Nash dirilis sebagai open source sehingga bisa dimodifikasi dan digunakan dengan bebas
2 komentar
Nash, catatan yang berjalan dengan satu file HTML
Anda juga mempostingnya ke Hacker News setelah sempat mengunggahnya di Show GN, dan ternyata mendapat banyak vote. Selamat!
Komentar Hacker News
Sebagian besar pekerjaan berat ditangani oleh satu atribut HTML yang sederhana tetapi ampuh, tapi tampaknya cukup banyak developer yang belum mengetahuinya
Fitur ini sudah ada sejak lama
Writely adalah startup yang kemudian menjadi Google Docs, dan saya mengatakannya sebagai salah satu pendirinya
Sisa 90%-nya adalah kode backend yang harus kami tulis untuk menyinkronkan hasil edit dengan benar, karena tiap browser punya bug implementasi contenteditable yang aneh dan berbeda-beda :-)
Namun (1) styling WP terlalu merepotkan dan saya tidak ingin memeliharanya, (2) saya tidak ingin bergantung pada fitur plugin dan upgrade WP, dan (3) saya ingin orang dengan hak akses berbeda bisa mengedit bagian berbeda dari halaman yang sama, yang secara praktis mustahil di sebagian besar CMS
Jadi saya membuat CMS nyaris dari nol hanya berbasis contenteditable dan TinyMCE, lalu menempelkan tag itu pada area yang bisa diedit. Tentu saja sebelum menyimpan, backend memeriksa siapa boleh mengedit apa
Saat klien atau staf login, mereka bisa langsung mengedit hanya area halaman yang memang mereka punya izin, dan CMS menampilkan garis tepi putus-putus pada bagian yang bisa diedit. Font dan warna disimpan di konfigurasi TinyMCE, jadi tidak perlu mengorek atau menyentuh HTML. Kalau mau, tetap bisa diubah langsung
Bagi klien, ini terasa cukup ajaib. Mereka tidak perlu pergi ke halaman edit terpisah untuk melihat tampilan setelah perubahan; cukup mengedit langsung di tempat pada halaman lalu menyimpan, dan hasilnya langsung terpublikasi
Sebagian besar situs ini masih berjalan 5–10 tahun kemudian, dan hampir tidak membutuhkan pemeliharaan dari pihak saya
https://news.ycombinator.com/item?id=43179649
contenteditable="true"pada div paling atasRasanya saya sudah mengerjakan ini 20 tahun lalu
ContentEditable pertama kali diperkenalkan di IE 5.5 pada tahun 2000, dan pada 2007 sudah bisa digunakan di semua browser utama
Saya sangat menyukainya, dan setelah melihat source-nya, saya makin suka karena sedang ditulis dengan JavaScript murni
Saat ini kemampuan membuat web app yang cukup interaktif tanpa library atau framework masih diremehkan
Ide membuat web app lokal sederhana sebagai satu halaman HTML juga benar-benar bagus. Dulu saya pergi ke museum sains bersama anak saya dan mencoba animator stop-motion sederhana; saya lalu membuat web app serupa dan menyalinnya sebagai satu file HTML ke laptop anak saya, sehingga bisa dipakai tanpa internet
Namun saya malas menulis JavaScript murni langsung, jadi saya membuatnya dengan React dan bundler, lalu hasil akhirnya dibundel menjadi satu file HTML. Mungkin suatu hari saya akan mengunggahnya ke Show HN
Dengan JavaScript murni biasa dan kemampuan yang memadai, hampir semuanya bisa dibuat lebih rapi dan lebih mudah dipelihara
Setelah puluhan tahun memelihara buatan orang lain, desain yang begitu sederhana sampai terasa bodoh dari orang pintar mengalahkan kombinasi lainnya
Dibuat dengan baik
Mungkin layak dipertimbangkan agar perilakunya berubah: ketika halaman dibuka dari disk lokal di browser, otomatis masuk mode edit; ketika dipublikasikan di situs web seseorang dan diakses dari web publik, menjadi tampilan baca-saja biasa. Cukup periksa apakah alamatnya http/https
Tentu saja harus ada cara pintas seperti parameter query string atau fragmen URL ajaib agar tetap bisa dilihat dalam mode edit
Juga perlu bisa memberi pengecualian untuk domain atau prefiks URL tertentu. Jika default-nya keepworking.github.io atau <https://keepworking.github.io/nash/> sehingga mode edit juga aktif di situs itu, tidak perlu melakukan hal tambahan untuk demo
Akan lebih baik jika pengecualian ini bisa diubah oleh pengguna. Misalnya, orang lain juga bisa mendapatkan perilaku yang sama tanpa trik nomor 1
Secara pribadi menurut saya ini bagus, jadi saya berharap tetap dibiarkan seperti sekarang
Dengan https://rpdillon.net/redbean-tiddlywiki-saver.html, ini bisa dibuat menjadi aplikasi portabel mandiri yang melakukan penyimpanan “sungguhan”
Dengan begitu, fiturnya akan jauh lebih mendekati bookmark pribadi yang bisa dimiliki kapan pun diinginkan
Bagus. Pernah ada diskusi sebelumnya yang menyebut ide ini dan TiddlyWiki
https://news.ycombinator.com/item?id=43179649
Saya berharap browser mendukung web app lokal dengan lebih baik
Jika file lokal bisa mengakses penyimpanan persisten dengan mudah, akan terbuka banyak peluang untuk aplikasi GUI yang cepat dan mudah. Pada dasarnya ini arah kebalikan dari Electron
Keren. Mungkin karena saya sudah terlalu terbiasa menulis bagian JavaScript sebuah situs web di luar HTML sebenarnya, saat pertama melihatnya saya berpikir, “Wah, menarik juga ini bisa dilakukan hanya dengan HTML”
Tapi setelah melihat source-nya, ternyata JavaScript ada di dalam tag
scriptbiasa, jadi saya kembali teringat bahwa memang bisa dilakukan seperti ituSebagian besar layar yang kita lihat setiap hari, bahkan editor kode sekalipun, adalah halaman HTML
Yang lebih mengejutkan adalah orang-orang memakai framework lalu memasukkan hal-hal yang bahkan bukan JavaScript ke dalam HTML, dengan struktur di mana JavaScript eksternal ditempel belakangan atau harus di-hydrate. Rasanya seperti menggabungkan sisi buruk dari keduanya
Saya cenderung berada di sisi sebaliknya: JavaScript menjadi pusatnya, dan selain
index.html, tidak ada file berekstensi.html. Saya juga tidak memasukkan HTML ke dalam JavaScript. Semua partial template memakai.htm, dan di-hydrate sebelum ditambahkan ke DOMAkan bagus kalau ada peringatan saat mencoba menutup halaman setelah mengedit tetapi belum menyimpan
Layak mempertimbangkan untuk menambahkan handler
onbeforeunloadSaya suka alat sederhana seperti ini. Beberapa waktu lalu saya membuat “homepage”/dashboard kustom sederhana: https://github.com/rcarmo/onepage-by-spec
Bagus sekali. Saya frustrasi karena makin banyak software yang menyembunyikan fitur-fitur yang sebenarnya mudah dijalankan secara lokal dan memang sudah lama bisa dilakukan di balik langganan, lalu memasang batasan-batasan artifisial
Saya sedang membuat editor Markdown gratis yang hanya berjalan di dalam browser dan bisa mengedit file lokal melalui File System Access API yang baru. API ini hanya tersedia di browser berbasis Chromium
https://zareith.github.io/chillmd/