İçeriğe geç
HisarBlok
Menü
EN

HisarBlok · özellikler

Kutudan çıkanlar

Sürüm 0.13.1 itibarıyla HisarBlok'un yapabildikleri. Hepsi aynı çekirdeğin parçası; istemediğiniz modülü site başına tek düğmeyle kapatırsınız. Kapalı bir modül çalışmaz ve ürettiği dosyalar siteden kalkar; verisi ise saklanır.

Kurulum Sürüm notları

Sürüm 0.13.1 · AGPL-3.0-or-later · Kaynak kodu yakında

Yayın

Statik çıktı

Kaydettiğiniz an etkilenen sayfalar düz HTML olarak diske yazılır; yanlarına .gz, PHP destekliyorsa .br kopyaları da. Ziyaretçinin isteği kod çalıştırmaz.

Üretim kuyruğu

Kaydedilen sayfa hemen yazılır; listeler, site haritası, beslemeler ve tam yeniden üretimler kuyruğa girer, dilimler hâlinde arkadan çalışır. Üst çubukta ilerleme görünür, yarıda kalan iş kaldığı yerden sürer.

Tek ziyaretçi kapısı

Form, yorum, forum mesajı ve üye girişi gibi işler yalnız go.php ve get.php üzerinden geçer: aynı köken denetimi, sayfaya bağlı jeton, süre kapısı, bal küpü ve hız sınırı.

İçerik

Bloklarla sayfalar

Vitrin, kart ızgarası, etiketler, galeri, Markdown, zengin metin, sürüm notları, form, son yazılar ve indirme blokları; ya da yerleşik editörle Markdown veya temizlenmiş HTML. Markdown dipnotları destekler.

Blog

Etiketler, sayfalı dizin, etiket sayfaları, okuma süresi, ilgili yazılar; dil başına RSS ve Atom, her etiket için ayrı besleme.

Medya

Yüklenen görsel yeniden kodlanır, içindeki üst veri silinir, boyutlandırılır; 480/960/1440 piksellik WebP ve destekleniyorsa AVIF kopyaları srcset ile sunulur.

Menüler ve duyurular

Site menüsü panelden, dil başına; ana sayfada kısa duyurular.

İndirmeler

Ürün, sürüm ve dosya kayıtları; sayılan bağlantılar ve sağlama toplamları.

Yönlendirmeler

Eski adresleri yaşatan 301 kuralları: her sunucuda çalışan yönlendirme sayfası ve nginx/Apache için dışa aktarılabilir kurallar.

Etkileşim

Form oluşturucu

Sayfaya blok olarak eklenen formlar; yanıtlar panelde saklanır, bildirim e-postaları kuyruğa alınır. Reddedilen form, hatalar alanların yanında gösterilerek ve yazılanlar korunarak yeniden çizilir.

Yorumlar

Sayfa ve yazıların altında; önce onay, onaylanınca statik sayfaya yazılır.

Forum

Kategori, konu, yanıt; sabitleme, kilitleme, gizleme ve taşıma. Okumak kod çalıştırmaz; yabancının yazdığı hiçbir şey onaylanmadan görünmez. Her site dilinde, kendi beslemeleriyle.

Üyelik

Doğrulanmış e-postayla kayıt, giriş, parola sıfırlama, profil. Tek hesap bütün dillerde; e-postalar üyenin dilinde gider. Çerezi yalnız üyeler taşır.

Arama

Statik dizin üzerinde, okurun tarayıcısında. Aksanlı harfler temel harfleriyle eşleşir.

İstenmeyen ileti koruması

Bulmaca ve dış servis yok: süre kapısı, bal küpü, adres ve site başına gönderim bütçesi, moderasyon.

Diller ve arama motorları

Çok site, çok dil

Tek kurulumdan birden çok site; site başına diller, varsayılan dil ve dil değiştirici. hreflang ve dil bağlantıları yalnız gerçekten var olan çeviriye gider.

Sekiz ziyaretçi dili

Ziyaretçinin okuduğu her metin Türkçe, İngilizce, Almanca, İspanyolca, Fransızca, Portekizce, Rusça ve Arapça. Arapça, Farsça, İbranice ve Urduca sayfalar sağdan sola çizilir. Panel Türkçe ve İngilizce.

Her alfabede adres

Arapça, İbranice, Japonca gibi yazılardaki başlıklar adreste korunur; Kiril ve Yunan harfleri kendi tablosuyla çevrilir. Latin adresler değişmez.

Yapısal veri

Her sayfada JSON-LD (Organization, WebSite, BlogPosting, forum için DiscussionForumPosting), OpenGraph ve Twitter kartları, tek h1, site başına saat dilimi.

Site haritası ve beslemeler

XML site haritası, dil başına RSS ve Atom, blog etiketleri ve forum kategorileri için ayrı Atom beslemeleri.

Kırık bağlantı raporu

Her tam üretimden sonra sitedeki her iç bağlantı diskteki dosyalara karşı denetlenir; ağ isteği atılmaz. Pano kırık adresleri gösterir.

Temalar

Üç tema

default: CSS değişkenleriyle yönetilen temel tema. Studio: yazılım ürün siteleri için; bu site onunla çalışıyor. Journal: okunmak için yazılan metinlere göre, serif okuma sütunu ve dipnotlarla.

Birbirini genişletme

Bir tema theme.json içinde "extends" ile başka bir temanın üzerine kurulur ve yalnız değiştirdiğini taşır. Renkler ve ölçüler --hb-* değişkenleriyle değişir.

Veritabanına erişmeyen şablonlar

Şablon yalnız kendisine hazırlanmış görünüm modelini alır; sorgu yazamaz. Koyu kip, yazdırma, azaltılmış hareket ve betiksiz mobil menü hazır gelir.

İşletme

Kurulum sihirbazı

Sunucudaki tek kullanımlık bir kodla kilitlenir, data/ klasörünün webden erişilemediğini gerçek bir istekle doğrular, kurulum bitince tamamen kaybolur. Aynı iş komut satırından da yapılır.

İmzalı güncelleme

Yeni sürüm yalnız Ed25519 imzası doğrulanırsa açılır; önce yedek alınır, kod tek hamlede değiştirilir, bir adım başarısız olursa kendiliğinden geri alınır. Panel hiçbir zaman koda yazmaz.

Yedek ve geri yükleme

Tek dosyalık, her dosyası SHA-256 ile özetlenmiş yedekler; son 14'ü saklanır. Geri yükleme yalnız sunucuda, her özet denetlendikten ve mevcut durum yedeklendikten sonra.

SQLite ya da MySQL/MariaDB

Varsayılan tek dosyalık SQLite; isteğe bağlı MySQL/MariaDB (tablo öneki, uzak sunucuda TLS). İki yönde taşıma aracı; iki veritabanında aynı yedek biçimi.

Komut satırı

bin/hisarblok bütün araçlara tek kapı: yedek, geri yükleme, yeniden üretim, güncelleme, içe ve dışa aktarma. doctor sağlık raporu verir; make:module ve make:theme iskelet üretir.

Pano ve roller

Modül başına gerçek sayılar, bekleyen işler, ilk adımlar ve site sağlığı. Yetkilere dayalı yönetici ve editör rolleri; bir hesap bazı sitelere, site başına bir rolle sınırlanabilir.

Taşınma

Eski adresler kalıcı yönlendirmeyle yeni yerlerine gider, ama sitede yaşayan bir sayfanın üzerine asla yazılmaz.

İçeri

WordPress (WXR), Joomla 3–5, Drupal 7 ve 8+, Ghost, Blogger, Disqus yorumları, Medium, Substack, Hugo, Jekyll ve her RSS/Atom beslemesi. Önce deneme yapılır, tekrar çalıştırılabilir.

Forumlar

phpBB 3, MyBB 1.8, SMF 2, vBulletin 3/4/5, XenForo 1/2, Flarum, Invision Community 4, Discourse ve NodeBB. Üyeler eski parolalarıyla girer, parola ilk girişte Argon2id'ye yükseltilir.

Dışarı

Sitenin tamamı düz JSON Lines dosyaları ve özgün görsellerle tek bir .zip olarak; biçim açık ve belgeli. Parolalar, oturumlar ve e-posta ayarları asla içinde olmaz.

Güvenlik ve gizlilik

Hesaplar

Argon2id parola özetleri, TOTP ile iki adımlı giriş ve kurtarma kodları, adres ve hesap adı başına giriş sınırı, işlem günlüğü. Güvenlik özellikleri ücretli bir katmana konmaz.

Panel

Siteden ayrı bir adreste çalışmak üzere tasarlandı: nonce tabanlı içerik güvenliği ilkesi (CSP), her formda CSRF jetonu, oturum bağlama, yeteneğe dayalı yetkiler.

İçerik ve ziyaretçi girdisi

Yazarın HTML'i izin listesine göre, PHP'nin HTML5 ayrıştırıcısıyla temizlenir. Ziyaretçiden gelen her şey kaçışlanır; javascript: ve data: bağlantıları reddedilir.

Çerezsiz istatistik

Görüntüleme, günlük ziyaretçi, en çok okunan sayfalar ve yönlendiren siteler. Çerez yok, IP adresi ve tarayıcı bilgisi saklanmaz, üçüncü taraf yok. Site başına kapatılır.

Erişilebilirlik

Temalar ve panel WCAG 2.2 AA'ya göre gözden geçirildi: klavyeyle kullanım, görünür odak, yeterli karşıtlık, sayfa bölgeleri, ekran okuyucu için adlar.

İzleme yok

Bağımlılık yok, CDN yok, dışarıdan yazı tipi yok. Site dışarıya kendiliğinden bağlanmaz; güncelleme denetimi bile varsayılan olarak kapalıdır.

Henüz olmayanlar

Mağaza bileşeni (dijital indirme, lisans anahtarı, sepet, ödeme) yol haritasında sıradaki büyük iş; henüz yok. Panel Türkçe ve İngilizce; başka panel dilleri çevirmen katkısı bekliyor. Kaynak kodu henüz herkese açık değil: ayrıntılar.

Kurulumun nasıl işlediği belgelerde, sürümden sürüme neler değiştiği sürüm notlarında.