- Hardcore IndieWeb, içerik asıllarını ve yayımlanabilir HTML/web varlıklarını kendi cihazında tutup kimliği ve içerik üzerindeki kontrolü hizmet sağlayıcılara bırakmayan bir yaklaşım.
- HTML’yi tarayıcıda önizleyip sonra hosta yükleyen 1990’lar usulü yayın süreci izlenirse CMS, SSG, framework, CLI ya da aylık abonelik olmadan site işletmek mümkün.
- Yalnızca bir metin editörü, bir SFTP aracı ve bir web host yeterli; NearlyFreeSpeech.net üzerinde statik bir site günde $0.01’a çalıştırılabiliyor ve hesap bakiyesi $0.25’ten başlayarak yüklenebiliyor.
- Landing page, tekil yazılar, arşiv ve Atom feed dosyalarını doğrudan yöneterek her sayfada yapı ve tasarımı değiştirmek, ayrıca yalnızca değişen dosyaları aktarmak mümkün.
- Host ortadan kalksa bile tamamlanmış site başka bir yere aynen yüklenebilir; ancak araç sayısı arttıkça bağımlılıklar da arttığından, yerel kaynakları ve yayımlanmış kopyayı elde tutmak bağımsızlığın şartı.
Hardcore IndieWeb’in talep ettiği bağımsızlık
- IndieWeb, web üzerindeki kimliği ve içeriği doğrudan sahiplenip şirketlerin dış kontrolünden çıkmayı amaçlayan pratik bir yaklaşım.
- Abonelik temelli blog servisleri de IndieWeb’e katılmaya yardımcı olabilir, ancak içerik esas olarak başkasının veritabanı ve sunucularında duruyorsa tam anlamıyla bağımsız değildir.
- Açık bir formatta dışa aktarılabilse bile, hizmet kullanıldığı sürece içerik üzerinde tam kontrol yoktur.
- Bu yaklaşım, mevcut hizmetlerden memnun olanlardan ziyade içerik üzerinde tam bağımsızlık ve kontrol isteyenlere uygundur.
- Hardcore IndieWeb, mevcut IndieWeb ilkelerine kontrol ve taşınabilirlik için somut ölçütler uygular.
- İçerik esas olarak kendi sabit diskinizde değilse, tam olarak kontrol ettiğiniz söylenemez.
- Yayımlanmış HTML ve web varlıklarının bir kopyası sabit diskinizde yoksa, site tam taşınabilir durumda değildir.
- Bir hizmet kapanır ve verileri dışa aktarmak imkânsız hale gelirse, kâğıt üzerinde içerik sahipliği olsa bile ona erişmek ya da taşımak mümkün olmayabilir.
- İşletmecinin davranışları nedeniyle hizmetten ayrılmak isteseniz bile, dışa aktarılan formatı destekleyen başka bir servis bulmanız, içeriği dönüştürmeniz ve araçlar ile süreçleri değiştirmeniz gerekebilir.
- İçerik kaynakları ile tamamlanmış yayımlanmış kopya yerelde bulunuyorsa, bu tür durumlarda da kontrol ve taşınabilirlik korunabilir.
1990’lar usulü web yayın süreci
- Hardcore IndieWeb, web’in ilk dönemlerindeki basit yayın yaklaşımını izler.
- İçeriği sabit diskte yaz
- Web tarayıcısında önizle
- Memnunsan web hosta yükle ve gerektiğinde tekrarla
- Alan adı dışında gerekenler sadece bir metin editörü, bir dosya aktarım aracı ve bir web host.
- Programlama ortamı, IDE, framework, shell, CLI araçları ya da aylık abonelik gerekmez.
- HTML bilgisi gerekir, ancak HTML for People gibi kaynaklarla öğrenilebilir; az sayıda etiket ve kopyala-yapıştır ile başlamak da mümkündür.
- Karmaşık SaaS, CMS, SSG, işaretleme dilleri ve şablon sistemleri isteğe bağlıdır; dosyaları doğrudan yayımlayan basit yöntem hâlâ çalışır.
Gerekli araçlar ve hosting
- Metin editörü olarak, dosyaları diske kaydedebildiği sürece her şey kullanılabilir.
- Adam Newbold, dosya aktarımını da destekleyen Nova kullanıyor.
- Diğer seçenekler metin editörü listesinde bulunabilir.
- Dosya aktarımı için SSH veya SFTP destekleyen bir araç gerekir.
- FileZilla, birden çok işletim sistemini destekleyen seçeneklerden biridir.
- Statik site hostu olarak NearlyFreeSpeech.net öneriliyor; siteyi günde $0.01’a çalıştırmak mümkün.
- Adam Newbold bu hizmeti 2008’den beri kullanıyor.
- Hesaba $0.25’ten başlayarak bakiye yüklenebilir ve
static, non-productionsite eklenebilir. Sitessekmesinde site adını seçerek dosya aktarımı için giriş bilgileri görülebilir.- Ücretsiz bir alt alan adı verilir;
Domainssekmesinden kişisel alan adı eklenebilir.
- NearlyFreeSpeech zorunlu değildir; temel statik dosya hosting’i sunan başka web hostları da tercih edilebilir.
Mevcut siteyi ve HTML’yi hazırlama
- Mevcut site veya blog HTML biçimindeyse hemen başlamak kolaydır.
- Başka bir format kullanılıyorsa, hizmete bağlı olarak HTML’ye dışa aktarmak veya dönüştürmek mümkün olabilir.
- Büyük bloglar için dönüştürme araçları daha uygundur.
- Küçük ölçekliyse yazıları yeniden gözden geçirirken HTML dosyalarını elle oluşturmak mümkün olabilir.
- Markdown tercih edilebilir, ancak HTML web’in dilidir; bazen Markdown ayrıştırıcılarıyla uğraşmaktansa saf HTML kullanmak daha basittir.
- Sıfırdan tasarlamak zorsa, HTML5 UP gibi ücretsiz tasarım ve şablonlar indirilip düzenlenebilir.
Blogu oluşturan dosyalar
- Tipik bir blog landing page, yazılar, arşiv sayfası ve feed bileşenlerinden oluşur; bunlar özel bir blog servisi olmadan da doğrudan yönetilebilir.
-
Landing page
- En güncel yazının tamamı ya da bir kısmı, birden çok yazı veya yazı dışı içerik serbestçe yerleştirilebilir.
- En yeni yazıyı göstermek için içeriği kopyalayıp bağımsız sayfaya giden bir bağlantı eklenir.
- Son 5 yazıyı korumak için yeni yazı üste eklenir ve en eski yazı alttan silinir.
- CMS, SSG veya şablon motorlarının kısıtları olmadığından her sayfada yapı ve sunumu değiştirmek mümkündür.
- Landing page dosya adı
index.htmlolmalı ve web root’ta bulunmalıdır. - NearlyFreeSpeech’in web root’u
/home/publicyoludur.
-
Blog yazıları
- Her yazı bir web sayfası olarak oluşturulur; önceki yazı dosyasını kopyalayıp benzersiz bir dosya adı ve yeni içerik ekleyerek hazırlanabilir.
- Diskteki dosya yapısı URL’ye yansıdığından, klasörler istenen adres yapısına göre düzenlenir.
/blog/yolunu kullanmak için web root’tablogklasörü oluşturulur.the-best-lunch-i-ever-had.htmlgibi slug tabanlı dosya adları kullanılabilir.- Yazıya özel klasör içinde
index.htmlbulunursa URL’deki.htmluzantısı gizlenebilir. - Yazıları Markdown ya da veritabanı girdileri yerine bağımsız HTML dosyaları olarak yönetmek, her yazıya farklı stil, görünüm, düzen ve kişilik vermeyi mümkün kılar.
- Tüm yazıların aynı görünmesi gerektiği düşüncesi modern yayın araçlarından gelir; elde yazılmış HTML’de buna uymak gerekmez.
-
Arşiv sayfası
archivegibi bir klasör oluşturulup içineindex.htmlkonur, ardından yazı listesi hazırlanır.- Sıralama ve organizasyon serbesttir; sevilen yazılar sayfanın üst kısmında ayrıca öne çıkarılabilir.
Atom feed’i doğrudan yönetmek
- RSS feed’i özel bir sistem değil, diskte duran bir dosyadır; bu yüzden bir metin editörüyle doğrudan düzenlenebilir.
- Wikipedia’nın Atom sayfasındaki) örnek feed kopyalanıp
feed.xmldosyasıyla başlanabilir.- Atom, RSS ile uyumludur ve yaygın biçimde desteklenir.
example.com,<title>,<subtitle>gibi değerler kendi alan adınız ve bilgilerinizle değiştirilir.- Feed’e eklenecek her yazı için bir
<entry>oluşturulup tarih, saat, başlık, özet gibi bilgiler girilir. <id>için UUID Generator üzerinden yeni bir UUID alınır.
- Tamamlanan feed, W3C Feed Validation Service içine yapıştırılarak parse edilip edilemediği kontrol edilebilir.
- Hata çıkarsa, doğrulama hizmeti hangi kısmın düzeltilmesi gerektiğini gösterir.
Yayınlama ve güncellemeler
- İlk yayında, dosya aktarım programıyla sunucuya bağlanıp sitenin tamamı web hosta kopyalanır.
- Sonrasında yalnızca yeni eklenen veya değişen dosyaları aktarmak yeterlidir.
- Güncellemede genellikle landing page, yeni yazı, feed ve arşiv sayfası değişir.
- Yayın süreci, yerel dosyaları uzak sunucuya sürükleyip bırakma düzeyinde yürütülebilir.
Taşınabilirlik ve ek araçların sınırı
- Tamamlanmış site kendi bilgisayarınızda bulunduğu için mevcut host ortadan kalksa bile başka bir hosta aynen yüklenebilir.
- Blog yazılımındaki ciddi güvenlik açıklarını ya da SSG bağımlılıklarını yönetmek gerekmez; içeriğin her yönü doğrudan kontrol edilir.
- Bu süreci korumak tek başına tamamen bağımsız bir web sitesini sürdürmek için yeterlidir.
- İş akışını destekleyen araçlar ve süreçler eklenebilir, ancak eklenen her araç yeni bir bağımlılık da getirir.
- İçerik kaynakları kendi cihazınızda duruyor ve yayımlanabilir sitenin tamamının bir kopyası elinizdeyse, Hardcore IndieWeb koşulları sağlanmış olur.
HTML ile doğrudan çalışmanın özerkliği
- Temel süreç, HTML’yi doğrudan yazıp web sunucusuna yüklemekten ibarettir.
- Son 30 yılda eklenen teknoloji katmanları, süreçler ve beklentiler web çalışmalarını karmaşıklaştırdı; kontrolü ve bağımsızlığı başkalarına devretmeye yol açtı.
- IndieWeb hizmetleri kullanılsa bile, web varlığınızın tek kopyasını hizmet işletmecisine bırakıyorsanız tam bağımsız sayılmazsınız.
- Hardcore IndieWeb herkese göre olmayabilir, ancak yazılarına kimin sahip olduğunu, bunların nerede ve hangi biçimde yayımlandığını önemseyenler için uygundur.
- HTML ile doğrudan uğraşmak ve dosyaları kendi web host alanına kopyalamak, web’in ilk dönemlerindeki keyifle yeniden bağ kuran doğrudan ve özerk bir deneyim sunar.
1 yorum
Hacker News yorumları
Statik siteleri GitHub Pages ve Cloudflare Pages üzerinde ücretsiz barındırıyorum ve çok memnunum. NearlyFreeSpeech’e para ödesem bile sonuçta üçüncü taraf barındırmaya bağımlı olmak aynı; bu yüzden kendi barındırmanın teknik tatmin dışında büyük bir değer sunduğunu düşünmüyorum.
Önemli olan, HTML ve görseller gibi varlıkları diskteki basit dosyalar olarak doğrudan yönetebilmek. Git entegrasyonu sayesinde harici bir yedek de oluşuyor; VS Code’dan
master’a push edince 30 saniye içinde yayınlanıyor, eski FTP/SFTP’ye göre çok daha kullanışlı.NearlyFreeSpeech de iyi bir hizmet, ama tamamen bağımsız değil. Kendi internet altyapınız olmadan bağımsızlığa en çok yaklaşmak için evden port yönlendirme yapabilir ya da siteyi Tor gizli servisi olarak çalıştırabilirsiniz.
torrciçinde portları ayarlamak zor değil; ancak ziyaretçilerin de Tor Browser’a ihtiyacı oluyor ve sitenin “dark web”de olduğunu açıklamak zahmetli. Sahip olduğunuz donanımla evden çalıştırıp sunucu IP’sini de gizleyebilirsiniz; bağımsız web çevrelerinde daha yaygın kullanılmaması şaşırtıcı. Normal bir alan adını.onionadresine yönlendirmek de mümkün.Tarayıcıda doğrudan site oluşturup barındırmaya yarayan Beaker Browser kapandı; ama Tor için site oluşturma eklentisi gibi araçlar çıkarsa yaygınlaşmaya yardımcı olabilir.
.onionservisleri kolayca ayağa kaldırılabilir, normal web’den daha güvenlidir ve cep telefonunda bile çalıştırılabilir.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
.onionadreslerinin keşfedilebilmesi için Onion-Location ve Alt-Svc desteği sunar. Onion-Location normal bir HTTPS sitesinin Onion servisini duyurmasını sağlar; Alt-Svc ise kullanıcıdan ayrı bir işlem istemeden otomatik keşif ve geçiş yapar.Gelecekte DNS veya DNSSEC tabanlı Onion bağlantıları da mümkün olabilir: https://onionservices.torproject.org/research/proposals/usab...
myfirstnamelastname.comadresini söylemekle 56 karakterlik rastgele bir.onionadresini iletip bir de telefona Tor Browser kurdurmak arasında erişilebilirlik açısından büyük fark var.Bu akımdaki en büyük engel, içeriğe sahip olmak için gereken alan adı; ucuz olsa bile yılda yaklaşık 6 dolar tutuyor. Statik siteler pek çok yerde ücretsiz barındırılabilir ve bireyler için CDN ücretsiz katmanları yeterlidir.
Sunucuyu kendi kendine barındırmaktan daha önemli olan, alan adı gibi benzersiz bir tanımlayıcıya sahip olmaktır; o alan adının nereye işaret ettiği çok daha az önemlidir.
Bir web sunucusuna kendi dosyalarını koymanın yeni bir kavram gibi ele alınması komik.
Kendi barındırmayı yapacak teknoloji hâlâ var, ama düşünme biçimi yalnızca buluta göre değişti.
public_htmlklasörüne dosya koymanız yeterdi; hemen kişisel web siteniz olurdu. Bu, HTML’i sürekli elle yazmak gerektiği anlamına gelmiyor; ama o dönemde web’e katılmanın hızlı ve doğal bir yoluydu.Unix hesapları,
fingerile arkadaşınızın bağlı olup olmadığını kontrol etmeyi vetalkya daytalkile kişiden kişiye sohbet etmeyi bile sunardı; arkadaşınız yan terminalde oturuyor olsa bile bu sihir gibi gelirdi.Günde 0,01 dolar ödenen NearlyFreeSpeech ‘%100 bağımsız işletim’ ise Vercel, Netlify, GitHub ve Cloudflare’ın statik hosting hizmetlerinden pek farklı görünmüyor.
Veritabanı, geri bildirim formu, sosyal medya önizlemesi ve arama motoru optimizasyonu gerektiğinde ne yapılacağı yazıda yok; belki de bu eksiklikler ‘bağımsız web’in koşuludur, emin değilim.
Bir etkinlik web sitesi için alan adına ihtiyacım vardı; Infomaniak, alan adıyla birlikte 10 MB depolama alanı da sağlıyordu. Yılda yaklaşık 5 euroya hem alan adı hem siteyi halletmek fena değil
Tüm verileri Git deposunun içinde tutan yorumlar için bir JavaScript eklentisi https://github.com/est/req4cmt yaptım. Git servisi HTTP destekliyorsa kullanılabiliyor ve ücretsiz Cloudflare Worker üzerinde çalışıyor; yedekleme ve taşıma
git cloneilepushtan ibaret.Git tabanlı bir Twitter alternatifi projesi de var: https://github.com/est/gitweets
Demo https://f.est.im/; Git notes kullanan yorumları da destekliyor. Cloudflare Workers ve GitHub Pages sayesinde hepsi tamamen ücretsiz
sdf.org, Unix sistemlerini bizzat öğrenmek isteyen geliştiriciler için yararlı. NetBSD Unix üzerinde ücretsiz shell hesabı sunuyor; hatırladığım kadarıyla küçük bir tek seferlik bağışla web alanı ve ek özellikler kullanılabiliyordu.
Giriş adınız web alanının alt alan adı olduğundan dikkatli seçmek gerekiyor
Böyle bir iddiada bulunan sitenin Cloudflare ya da GitHub Pages üzerinde olmaması sevindirici
Belirli bir araçtan çok süreci öğrenmeyi ve ona sahip olmayı tercih ederim. Markdown gibi okunması ve yazması kolay bir formattan Pandoc vb. araçlarla HTML üretmeyi; HTML, CSS ve JavaScript’i hosting servisine yüklemeyi ya da senkronize etmeyi; alan adına sahip olup DNS’i GitHub Pages veya Cloudflare Pages’e yönlendirmeyi öğrenmek yeterli.
Belirli bir araca, servise, platforma veya şirkete bağımlı olmadığınız için içerik dosyalarını istediğiniz zaman başka yere taşıyabilirsiniz. Kaynak Markdown’ı HTML’e dönüştürme süreci statik site oluşturucularla otomatikleştirilebilir.
HTML bilmek yararlı ve eğlenceli ama ‘siteyi %100 bağımsız işletmenin’ zorunlu koşulu olmak zorunda değil. GitHub ve Cloudflare’da ayda 0 dolara çalıştırır, hizmet kapanır ya da ücretli olursa başka yere taşırsınız
Sürecin sahipliği ve tam bağımsızlık isteniyorsa web dillerini doğrudan anlayıp kullanabilmek gerekir. Nikola gibi statik site oluşturucular kullanışlıdır; ama çıktısını anlayamıyor ya da doğrudan düzenleyemiyorsanız hâlâ üçüncü taraf bir araca bağımlısınız demektir