3 poin oleh GN⁺ 21 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Hardcore IndieWeb adalah pendekatan menyimpan sumber konten dan HTML/aset web yang siap dipublikasikan di perangkat sendiri, sehingga identitas dan kendali atas konten tidak diserahkan kepada penyedia layanan
  • Dengan mengikuti proses penerbitan ala 1990-an—pratinjau HTML di browser lalu unggah ke host—kita bisa menjalankan situs tanpa CMS, SSG, framework, CLI, atau langganan bulanan
  • Yang dibutuhkan hanya editor teks, alat SFTP, dan web host; di NearlyFreeSpeech.net, situs statis bisa dijalankan dengan biaya $0.01 per hari dan isi saldo mulai dari $0.25
  • Landing page, posting individual, arsip, dan feed Atom dikelola langsung sebagai file, sehingga struktur dan desain bisa diubah per halaman dan hanya file yang berubah yang perlu dikirim
  • Bahkan jika host menghilang, situs yang sudah jadi bisa diunggah apa adanya ke tempat lain; tetapi makin banyak alat yang ditambahkan, makin banyak pula dependensi, sehingga menyimpan sumber lokal dan hasil publikasi menjadi syarat untuk menjaga kemandirian

Independensi yang dituntut Hardcore IndieWeb

  • IndieWeb adalah pendekatan praktis untuk memiliki sendiri identitas dan konten di web serta lepas dari kontrol eksternal perusahaan
  • Layanan blog berlangganan juga bisa membantu ikut serta dalam IndieWeb, tetapi jika konten terutama berada di database dan server milik orang lain, itu belum sepenuhnya mandiri
    • Sekalipun bisa diekspor ke format terbuka, selama memakai layanan tersebut kita tetap tidak sepenuhnya mengendalikan konten
    • Ini lebih cocok untuk orang yang menginginkan kemandirian dan kendali penuh atas konten daripada mereka yang sudah puas dengan layanan yang ada
  • Hardcore IndieWeb menerapkan kriteria yang lebih konkret pada prinsip IndieWeb yang ada, yaitu kendali dan portabilitas
    • Jika konten utamanya tidak ada di hard drive sendiri, sulit disebut sepenuhnya terkendali
    • Jika salinan HTML yang dipublikasikan dan aset web tidak ada di hard drive, situs itu belum benar-benar portabel
  • Jika layanan tutup dan data tak lagi bisa diekspor, secara nominal kita mungkin tetap memiliki konten, tetapi tidak bisa mengakses atau memindahkannya
  • Bahkan saat ingin meninggalkan layanan karena perilaku operatornya, kita mungkin harus mencari layanan lain yang mendukung format ekspor tersebut, atau mengonversi konten serta mengubah alat dan prosedur
  • Jika sumber konten lokal dan hasil publikasi yang sudah jadi ada di perangkat sendiri, maka dalam situasi seperti ini kendali dan portabilitas tetap terjaga

Prosedur penerbitan web ala 1990-an

  • Hardcore IndieWeb mengikuti cara publikasi sederhana dari masa awal web
    1. Menulis konten di hard drive
    2. Melihat pratinjau di browser web
    3. Jika sudah puas, unggah ke web host dan ulangi setiap kali diperlukan
  • Selain domain, yang dibutuhkan hanya editor teks, alat transfer file, dan web host
  • Tidak perlu lingkungan pemrograman atau IDE, framework, shell, alat CLI, maupun langganan bulanan
  • Pengetahuan HTML memang diperlukan, tetapi bisa dipelajari lewat sumber seperti HTML for People, dan memulai pun cukup dengan sedikit tag serta copy-paste
  • SaaS, CMS, SSG, bahasa markup, dan sistem template yang rumit hanyalah opsi; cara sederhana dengan menerbitkan file secara langsung masih tetap berjalan

Alat yang dibutuhkan dan hosting

  • Untuk editor teks, apa pun bisa dipakai selama dapat menyimpan file ke disk
  • Untuk transfer file, dibutuhkan alat yang mendukung SSH atau SFTP
    • FileZilla adalah salah satu pilihan yang mendukung berbagai sistem operasi
  • Untuk host situs statis, NearlyFreeSpeech.net direkomendasikan, dan bisa dijalankan dengan biaya $0.01 per hari
    • Adam Newbold telah menggunakan layanan ini sejak 2008
    • Kita bisa isi saldo akun mulai dari $0.25 dan menambahkan situs static, non-production
    • Di tab Sites, pilih nama situs untuk melihat info login transfer file
    • Subdomain gratis disediakan, dan domain pribadi bisa ditambahkan di tab Domains
  • NearlyFreeSpeech bukan keharusan; web host lain yang menyediakan hosting file statis dasar juga bisa dipilih

Menyiapkan situs yang ada dan HTML

  • Jika situs atau blog yang ada sudah berbentuk HTML, memulainya akan lebih mudah
  • Jika masih berjalan dalam format lain, tergantung layanannya, konten mungkin bisa diekspor atau dikonversi ke HTML
    • Untuk blog berskala besar, lebih cocok memakai alat konversi
    • Jika skalanya kecil, kita bisa meninjau ulang posting sambil membuat file HTML secara manual
  • Anda mungkin lebih suka Markdown, tetapi HTML adalah bahasa web, dan dalam beberapa kasus lebih sederhana memakai HTML murni daripada bergulat dengan parser Markdown
  • Jika sulit mendesain dari nol, desain dan template gratis seperti HTML5 UP bisa diunduh lalu diedit

File yang membentuk blog

  • Blog pada umumnya terdiri dari landing page, posting, halaman arsip, dan feed, dan semuanya bisa dikelola langsung tanpa layanan blog khusus
  • Landing page

    • Kita bebas menata posting terbaru secara penuh atau sebagian, beberapa posting sekaligus, atau bahkan konten non-posting
    • Untuk menampilkan posting terbaru, salin isinya dan tambahkan tautan ke halaman mandiri masing-masing
    • Jika ingin mempertahankan 5 posting terbaru, tempel posting baru di atas dan hapus posting paling lama dari bawah
    • Karena tidak terikat batasan CMS, SSG, atau template engine, kita bisa mengubah struktur dan tampilan setiap halaman
    • Nama file landing page harus index.html dan diletakkan di web root
    • Web root NearlyFreeSpeech adalah /home/public
  • Posting blog

    • Satu posting menjadi satu halaman web; pembuatannya bisa dengan menyalin file posting sebelumnya lalu mengganti nama file dan isi baru
    • Struktur file di disk tercermin pada URL, jadi folder dapat disusun sesuai skema alamat yang diinginkan
    • Jika ingin memakai jalur /blog/, buat folder blog di web root
    • Nama file berbasis slug seperti the-best-lunch-i-ever-had.html juga bisa dipakai
    • Jika meletakkan index.html di dalam folder tiap posting, ekstensi .html bisa disembunyikan dari URL
    • Dengan mengelola posting sebagai file HTML mandiri, bukan Markdown atau entri database, tiap tulisan bisa diberi gaya, tampilan, layout, dan karakter yang berbeda
    • Kebiasaan bahwa semua posting harus terlihat sama berasal dari alat penerbitan modern, dan tidak perlu diikuti jika membuat HTML sendiri
  • Halaman arsip

    • Buat folder bernama seperti archive, letakkan index.html di dalamnya, lalu susun daftar posting
    • Cara pengurutan dan penyusunan bebas, dan posting favorit juga bisa ditonjolkan terpisah di bagian atas halaman

Mengelola feed Atom secara manual

  • Feed RSS bukan sistem khusus, melainkan file yang disimpan di disk, jadi bisa diedit langsung dengan editor teks
  • Kita bisa mulai dengan menyalin feed contoh di halaman Atom Wikipedia) ke file feed.xml
    • Atom kompatibel dengan RSS dan didukung secara luas
    • Ubah nilai seperti example.com, <title>, <subtitle>, dan lainnya sesuai domain serta informasi milik sendiri
    • Buat <entry> untuk setiap posting yang ingin dimasukkan ke feed, lalu isi tanggal, waktu, judul, ringkasan, dan sebagainya
    • Untuk <id>, gunakan UUID baru dari UUID Generator
  • Feed yang sudah jadi bisa ditempel ke W3C Feed Validation Service untuk memeriksa apakah bisa diparse
    • Jika ditemukan error, layanan validasi akan menunjukkan bagian yang perlu diperbaiki

Publikasi dan pembaruan

  • Saat publikasi pertama, hubungkan ke server lewat program transfer file lalu salin seluruh situs ke web host
  • Setelah itu, cukup kirim file baru atau yang berubah saja
    • Target pembaruan yang umum adalah landing page, posting baru, feed, dan halaman arsip
  • Proses publikasi pada dasarnya bisa dilakukan dengan drag-and-drop file lokal ke server jarak jauh

Batas antara portabilitas dan alat tambahan

  • Karena situs yang sudah jadi ada di komputer sendiri, jika host lama menghilang pun kita bisa mengunggahnya apa adanya ke host lain
  • Tidak perlu mengelola kerentanan keamanan serius pada software blog atau dependensi SSG, dan semua aspek konten bisa dikendalikan langsung
  • Hanya dengan mempertahankan prosedur ini, kita bisa terus menjalankan situs web yang sepenuhnya mandiri
  • Kita boleh menambahkan alat dan prosedur untuk membantu alur kerja, tetapi setiap alat tambahan juga menambah dependensi baru
  • Selama sumber konten ada di perangkat sendiri dan kita menyimpan salinan lengkap situs yang siap dipublikasikan, syarat Hardcore IndieWeb tetap terpenuhi

Otonomi dalam menangani HTML secara langsung

  • Inti prosedurnya adalah menulis HTML sendiri lalu mengunggahnya ke web server
  • Lapisan teknologi, prosedur, dan ekspektasi yang ditambahkan selama 30 tahun terakhir telah membuat pekerjaan web makin rumit dan menyerahkan kendali serta kemandirian kepada orang lain
  • Bahkan jika memakai layanan IndieWeb, jika satu-satunya salinan keberadaan web kita diserahkan kepada operator layanan, itu tetap belum sepenuhnya mandiri
  • Hardcore IndieWeb bukan pendekatan untuk semua orang, tetapi cocok bagi mereka yang peduli siapa yang menyimpan tulisan mereka, di mana dipublikasikan, dan dalam bentuk apa
  • Menangani HTML secara langsung dan menyalin file ke ruang web host sendiri memberi pengalaman yang langsung dan otonom, sekaligus menghubungkan kembali dengan kesenangan web awal

1 komentar

 
GN⁺ 21 jam lalu
Komentar Hacker News
  • Saya sudah lama meng-host situs statis secara gratis di GitHub Pages dan Cloudflare Pages dan sangat puas. Bahkan jika membayar NearlyFreeSpeech, tetap saja kita bergantung pada hosting pihak ketiga, jadi hosting sendiri tampaknya tidak memberi banyak nilai selain kepuasan teknis
    Yang penting adalah aset seperti HTML dan gambar dikelola langsung sebagai file sederhana di disk. Berkat integrasi Git, ada backup eksternal juga, dan cukup push ke master dari VS Code maka dalam 30 detik sudah terbit, jauh lebih nyaman dibanding FTP/SFTP dulu

    • GitHub Pages dan Cloudflare Pages punya keunggulan bahwa kemungkinan situs bertahan lebih lama daripada pengelolanya lebih besar. Jika host sendiri, tanpa rencana suksesi pada akhirnya pasti berhenti suatu hari karena domain kedaluwarsa atau kartu diblokir, sedangkan layanan gratis hanya punya kemungkinan bisa menghilang
    • Perbedaan bahwa saat membayar kita menjadi pelanggan, bukan produk, cukup besar
    • Blog saya juga berjalan dengan cara yang sama: https://gigatexal.blog
  • NearlyFreeSpeech juga layanan yang bagus, tetapi tidak sepenuhnya independen. Tanpa infrastruktur internet sendiri, cara yang paling mendekati kemandirian adalah menjalankan situs dari rumah dengan port forwarding atau sebagai layanan tersembunyi Tor
    Mengatur port di torrc tidak terlalu sulit, tetapi pengunjung juga memerlukan Tor Browser, dan menjelaskan bahwa situs berada di ‘dark web’ cukup merepotkan. Bisa dijalankan dari rumah dengan perangkat keras milik sendiri dan bahkan IP server bisa disembunyikan, jadi agak mengejutkan kenapa ini tidak lebih luas dipakai di kalangan web independen. Domain biasa juga bisa dialihkan ke alamat .onion
    Beaker Browser, yang dulu memungkinkan pembuatan dan hosting situs langsung dari browser, sudah dihentikan, tetapi alat seperti plugin pembuatan situs untuk Tor tampaknya bisa membantu adopsi

    • Layanan .onion mudah dijalankan, lebih aman daripada web biasa, dan bahkan bisa berjalan di ponsel
      Nanogram: https://gitlab.com/here_forawhile/nanogram
      Spreadsheet Server: https://gitlab.com/here_forawhile/spreadsheet
      Library Server: https://gitlab.com/here_forawhile/libraryserver
      Torum: https://gitlab.com/here_forawhile/torum
    • Tor Browser mendukung Onion-Location dan Alt-Svc agar alamat .onion bisa ditemukan dari internet biasa. Onion-Location memberi tahu layanan Onion dari situs HTTPS biasa, sedangkan Alt-Svc menemukan dan beralih secara otomatis tanpa tindakan pengguna tambahan
      Ke depannya, koneksi Onion berbasis DNS atau DNSSEC juga mungkin: https://onionservices.torproject.org/research/proposals/usab...
    • Sempurna adalah musuh dari yang terbaik. Dalam kenyataan bahwa kita juga bergantung pada ISP dan produsen perangkat, NearlyFreeSpeech adalah kompromi berisiko rendah, tidak punya riwayat menyalahgunakan kepercayaan pengguna, dan biayanya pada praktiknya nyaris tak berarti
    • Tor bukan browser, melainkan layanan. Tor Browser hanyalah paket praktis yang menggabungkan browser berfokus privasi dengan layanan Tor, jadi situs Tor tetap bisa dijalankan di server headless tanpa browser
    • Alasan layanan tersembunyi jarang dipakai adalah karena terlalu banyak menuntut usaha dari pengunjung. Ada perbedaan besar dalam aksesibilitas antara memberi tahu myfirstnamelastname.com dan menyampaikan alamat .onion acak 56 karakter lalu meminta mereka memasang Tor Browser di ponsel
  • Hambatan terbesar dalam konteks ini adalah nama domain yang dibutuhkan untuk memiliki konten, dan meski murah tetap memakan biaya sekitar 6 dolar per tahun. Situs statis bisa di-host gratis di banyak tempat, dan untuk individu, tingkat gratis CDN sudah cukup
    Yang lebih penting daripada self-hosting server itu sendiri adalah memiliki pengenal unik berupa domain, sedangkan ke mana domain itu mengarah jauh kurang penting

    • Rekayasa perangkat lunak selama ini digerakkan oleh orang-orang pintar yang mencoba sesuatu bukan karena perlu, tetapi karena rasa ingin tahu. Saat merekrut pun, saya selalu lebih mementingkan rasa ingin tahu dan daya dorong daripada gelar
    • 6 dolar per tahun itu sekitar 0,016 dolar per hari; memang lebih mahal, tetapi tetap murah
    • Saya malah tidak tahu bagian mana dari tulisan ini yang menyarankan agar orang meng-host server sendiri
  • Lucu bahwa mengunggah file sendiri ke server web diperlakukan seolah-olah seperti konsep baru

    • Kita hidup di zaman ketika banyak orang bahkan tidak tahu apa itu file, jadi penting untuk menjaga semangat itu tetap hidup
    • Sangat disayangkan bahwa seluruh internet telah berubah menjadi monster yang di-host dan dikendalikan oleh segelintir perusahaan raksasa sampai-sampai perlu muncul konsep baru bernama IndieWeb. Hosting file seharusnya bukan hak istimewa, melainkan sejak awal nyaris merupakan hak manusia
      Teknologi untuk hosting sendiri masih ada, tetapi pola pikirnya sudah berubah menjadi serba cloud
    • Dulu, cukup taruh file di folder public_html dan situs web pribadi langsung ada. Bukan berarti HTML harus terus ditulis tangan, tetapi saat itu itu adalah cara yang cepat dan alami untuk berpartisipasi di web
      Akun Unix juga menyediakan pengecekan apakah teman sedang online lewat finger dan bahkan chat antarpribadi dengan talk atau ytalk, dan itu terasa ajaib meskipun teman tersebut duduk di terminal sebelah
    • Saya ingin melihat sampai anak-anak mulai mengenal perangkat keras
  • Jika NearlyFreeSpeech yang mengenakan biaya 0,01 dolar per hari berarti 'operasi 100% independen', rasanya tidak jauh berbeda dari hosting statis Vercel, Netlify, GitHub, dan Cloudflare
    Tulisan itu tidak menjelaskan bagaimana menangani kebutuhan seperti database, formulir umpan balik, pratinjau media sosial, dan optimasi mesin pencari; mungkin ketiadaan hal-hal seperti ini memang menjadi syarat dari 'web independen'

    • Di NearlyFreeSpeech, PHP dan database bisa digunakan
    • Jika NFS dan Vercel tidak jauh berbeda, seharusnya pengguna terbagi rata, jadi saya penasaran kenapa kebanyakan memilih Vercel
    • NFS menyediakan lingkungan Linux penuh dengan berbagai bahasa pemrograman terpasang sehingga juga mendukung situs web dinamis, tetapi biayanya lebih mahal
    • Ada juga orang yang menerima tagihan Netlify sebesar 100 ribu dolar pada paket gratis
  • Saya butuh domain untuk situs acara, dan Infomaniak juga menyediakan ruang penyimpanan 10MB bersama domainnya. Dengan sekitar 5 euro per tahun, bisa mendapatkan domain dan situs sekaligus, jadi tidak buruk

  • Saya membuat plugin JavaScript untuk komentar https://github.com/est/req4cmt yang menyimpan semua data di dalam repositori Git. Bisa digunakan jika layanan Git mendukung HTTP, berjalan di Cloudflare Worker gratis, dan backup serta migrasi selesai hanya dengan git clone dan push
    Ada juga proyek alternatif Twitter berbasis Git: https://github.com/est/gitweets
    Demonya ada di https://f.est.im/ dan juga mendukung komentar menggunakan Git notes. Berkat Cloudflare Workers dan GitHub Pages, semuanya sepenuhnya gratis

  • sdf.org berguna bagi pengembang yang ingin mempelajari sistem Unix secara langsung. Situs itu menyediakan akun shell NetBSD Unix gratis, dan kalau saya ingat benar, dengan donasi satu kali dalam jumlah kecil kita bisa memakai ruang web dan fitur tambahan
    Karena nama login menjadi subdomain untuk ruang web, sebaiknya dipilih dengan hati-hati

  • Senang rasanya situs yang membuat klaim seperti ini tidak di-host di Cloudflare atau GitHub Pages

    • GitHub Pages adalah hosting gratis yang menyediakan domain dan SSL, tidak ada penagihan biaya, dan prospek jangka panjangnya juga bagus. Jika tidak ingin repot mengurus situs statis, penyedia besar seperti GitHub dan Cloudflare tampaknya paling cocok
    • Saya sering merekomendasikan GitHub Pages, tetapi saya juga menulis cara meng-host di Raspberry Pi di kamar tidur: https://joeldare.com/private-analytics-and-my-raspberry-pi-4...
    • Saya berterima kasih karena Cloudflare terus membiarkan situs bajakan tetap hidup
    • Hal yang sama juga berlaku untuk Vercel dan Netlify
  • Saya lebih suka mempelajari dan memiliki prosesnya daripada bergantung pada alat tertentu. Cukup pelajari cara membuat HTML dari format yang mudah dibaca dan ditulis seperti Markdown dengan alat seperti Pandoc, lalu cara mengunggah atau menyinkronkan HTML·CSS·JavaScript ke layanan hosting, memiliki domain, dan menghubungkan DNS ke GitHub Pages atau Cloudflare Pages
    Karena tidak terikat pada alat, layanan, platform, atau perusahaan tertentu, file konten bisa dipindahkan ke tempat lain kapan saja. Proses mengubah Markdown asli menjadi HTML juga bisa diotomatisasi dengan generator situs statis
    Mengetahui HTML itu berguna dan menyenangkan, tetapi tidak harus menjadi syarat wajib untuk 'menjalankan situs secara 100% independen'. Jika menjalankannya di GitHub dan Cloudflare dengan biaya 0 dolar per bulan lalu layanannya ditutup atau menjadi berbayar, tinggal pindah ke tempat lain

    • Inti tulisan ini adalah bahwa jika postingan disimpan sebagai file HTML terpisah, bukan sebagai Markdown atau entri database, setiap halaman bisa diberi gaya, tampilan, tata letak, dan karakter yang unik. Kita bisa keluar dari kerangka blog seragam yang dihasilkan alat penerbitan modern dan membuat setiap postingan berbeda
    • HTML adalah format yang mudah dibaca dan ditulis manusia. Bahkan sebelum ada alat yang tepat, orang-orang yang bukan lulusan ilmu komputer pun langsung mengerjakan HTML, JavaScript, dan CSS di editor teks, dan untuk situs sederhana itu tidak sulit
      Jika ingin memiliki proses dan kemandirian penuh, kita harus bisa memahami dan menangani bahasa web secara langsung. Generator situs statis seperti Nikola memang praktis, tetapi jika tidak bisa memahami outputnya atau mengubahnya sendiri, itu berarti tetap bergantung pada alat pihak ketiga