İçeriğe atla
openplate

Uygulama

İçerik sayfaları

Bağladığın markdown dosyaları olarak yasal sayfalar (CONTENT_DIR): klasör, dosya biçimi, nelerin reddedildiği ve yasal zorunluluğu olan iki buton sayfasına ait adlandırılmış bölümler

Bu sayfa, İngilizce belgeden makine çevirisiyle çevrildi.

openplate, yasal sayfaları konteyner içine bağladığın markdown dosyalarından yükler. Deponun kendisinde hiçbir yasal metin bulunmaz. Şartları, gizlilik politikasını, künyeyi ve yasal zorunluluğu olan iki butonun sayfalarını sen yazarsın. Bunlar senin kurulumunu tanımlar ve seni işletmeci olarak belirtir.

Etkinleştirme

CONTENT_DIR değerini uygulamanın okuyabileceği bir klasöre ayarla:

sh
CONTENT_DIR=/srv/openplate-content

Bir konteyner kullanırken klasörü salt okunur bağla ve değişkeni bu bağlama noktasına yönlendir:

yaml
services:
  openplate:
    environment:
      CONTENT_DIR: /content
    volumes:
      - ./content:/content:ro

Herhangi bir klasörü göstermeyen bir değer önyüklemeyi durdurur. Başarısız bir bağlama işlemi hemen kendini gösterir. Uygulama, yasal sayfası olmayan bir kurulum gibi başlayıp görünemez.

CONTENT_DIR ayarlanmadığında

Bu varsayılandır ve hiçbir şey satmayan bir ev kurulumu için uygundur.

  • Her içerik rotası 404 yanıtı verir: /terms, /privacy, /privacy/website, /imprint, /withdrawal, /kuendigung, /kuendigung/bestaetigt, /widerrufen ve /widerrufen/bestaetigt.
  • Herkese açık altbilgi yalnızca Kaynak, Lisans ve Tercihler öğelerini çizer. Beş yasal bağlantı (Gizlilik, Şartlar, Künye ve yasal zorunluluğu olan iki buton) çizilmez.
  • Ayarlar, Hakkında kısmında Yasal grubu yer almaz. Klasör bağlandığında, bu sayfa aynı beş bağlantıyı Yasal başlığı altında listeler; böylece altbilgiyi görmeyen, giriş yapmış bir kişi de künyeye ulaşabilir.
  • Oturum açmamış bir ziyaretçinin kişisel sayfada gördüğü not, künye veya gizlilik bağlantısı olmadan ana sayfaya ve giriş yapmaya bağlantı verir.
  • Bülten formu, eğer açtıysan, gizlilik satırını kaldırır.

Klasörde okuyucunun dilinde veya İngilizce bir imprint.md bulunduğunda bağlantılar geri gelir. Künye denetim aracıdır, çünkü Alman yasaları diğerlerinden herhangi birini yayımlayan her kurulumda bunu zorunlu kılar.

Klasör

<CONTENT_DIR>/
  en/
    terms.md
    privacy.md
    imprint.md
    ...
  de/
    terms.md
    ...

Her dil için bir klasör: en, de, fr, it, es veya tr. Her sayfa için kendi kısaltmasıyla adlandırılmış bir dosya:

KısaltmaUygulamadaki yol
terms/terms
privacy/privacy
privacy-website/privacy/website
imprint/imprint
withdrawal/withdrawal
kuendigung/kuendigung
kuendigung-bestaetigt/kuendigung/bestaetigt
widerrufen/widerrufen
widerrufen-bestaetigt/widerrufen/bestaetigt

Okuyucunun dilinde eksik olan bir sayfa İngilizce olarak sunulur. İngilizcesi de eksik olan bir sayfa 404 verir. Uygulama yalnızca bu kısaltmaları okur. Asla bir URL üzerinden yol oluşturmaz.

Uygulama her dosyayı istek üzerine okur ve ayrıştırılmış sayfayı bellekte tutar. Değiştirilme zamanı veya boyutu değiştiğinde dosyayı yeniden okur. Bağlanan bir dosyada yapılan düzenleme, yeniden başlatmaya gerek kalmadan bir sonraki istekte görünür.

Dosya biçimi

UTF-8, LF satır sonları, bayt sırası işareti yok. Her dosya tam olarak şu ön kısımla başlar:

---
title: Terms of service
updated: 2026-09-21
---

title sayfa başlığıdır. updated bir takvim tarihidir ve uygulama bunu başlığın altına, okuyucunun dilinde "Son güncelleme" olarak çizer. Gövdede ikisini de tekrarlama.

Gövde bu alt kümeyi kullanır ve başka hiçbir şey içermez:

  • ## ve ### başlıkları. # başlıktır ve asla yazılmaz.
  • Boş bir satırla ayrılmış paragraflar.
  • - veya 1. ile listeler, tek seviye, girinti yok.
  • **strong** ve *emphasis*.
  • Bağlantılar [text](target) şeklindedir. Hedef, uygulama içindeki bir yol (/imprint), https://, mailto: veya tel: olabilir. Uygulama içindeki bir yol, sayfa yeniden yüklenmeden açılır.
  • Sert satır sonu: bir satırın son karakteri olarak ters eğik çizgi ve hemen ardından aynı paragrafın sonraki satırı. Bunu posta adresleri için kullan.
  • Tanım listesi: bir terim satırı ve ardından gelen bir veya daha fazla : definition satırı; girdiler arasında boş satır bırakılmaz.
  • Kaçış karakteri: \, *, [ veya ] karakterlerinden önceki bir ters eğik çizgi, ilgili karakteri düz metne dönüştürür.

İlk başlıktan önceki paragraflar sayfanın giriş bölümüdür ve daha büyük çizilir.

Neler reddedilir?

Her türlü ham HTML (bir harfin, /, ! veya ? karakterlerinin izlediği <), &amp; gibi HTML karakter başvuruları, görseller, tablolar, kodlar, blok alıntılar, # veya #### başlıkları, iç içe geçmiş veya girintili listeler ve herhangi bir {{ yer tutucusu.

Biçimi bozan bir dosya onarılmaz, reddedilir. Uygulama her sorunu satır numarasıyla birlikte, dosyanın sürümü başına bir kez kaydeder. Sayfa, tarafsız hata ekranıyla 503 yanıtı verir. Bir tabloyu sessizce atan ya da bir etiketi metin olarak basan yasal bir sayfa, kimsenin yazmadığı bir belgeyi yayımlamış olurdu. Dosyayı düzelt, sonraki istek dosyayı sunacaktır.

Adlandırılmış bölümler

İki sayfa, formları uygulamanın kodunda tutar: /kuendigung (sözleşme feshi) ve /widerrufen (sözleşmeden cayma). Bu sayfaların onay ekranları da makbuzu kod içinde tutar. Form etiketleri, düğmeler, doğrulama iletileri ve makbuz satırları uygulamanın parçasıdır. Bunları çevreleyen metinler ise dosyadan gelir. Adlandırılmış bir bölüm, uygulamanın formun etrafına yerleştirdiği her bir parçayı taşır:

:::section unavailable
Text of the section, in the same subset.
:::

Bu sayfaların her biri, aşağıdaki bölümleri tam olarak birer kez içermek zorundadır. Eksik veya fazladan bir bölüm, diğer hatalar gibi reddedilir.

KısaltmaBölümUygulamanın çizdiği yer
kuendigung(gövde)Fesih formunun üstündeki giriş bölümü.
kuendigungunavailableCORE_URL ayarlanmadığında formun yerine, bir gönderim bildirim servisine ulaşamadığında ise gönder düğmesinin altına yerleştirilir.
kuendigung-bestaetigt(gövde)Genellikle boş.
kuendigung-bestaetigtmail-noticeMakbuz satırlarından sonra, yazdır düğmesinden önce.
widerrufen(gövde)Cayma formunun üstündeki giriş bölümü.
widerrufenunavailablekuendigung için olduğu gibi.
widerrufen-bestaetigt(gövde)Genellikle boş.
widerrufen-bestaetigtmail-noticekuendigung-bestaetigt için olduğu gibi.

Diğer tüm sayfalar bölümsüzdür: gövdenin tamamı sayfayı oluşturur.

kuendigung başlığı, Alman yasalarının o sayfa için zorunlu kıldığı etikettir; aynı durum widerrufen için de geçerlidir. Uygulamanın altbilgisi ve gönder düğmeleri, yasal düğme etiketlerini doğrudan kendisi taşır.

openplate örnekleri dosyalarını nereden alır?

Barındırılan örnekler, her örnek için bir dizin ağacı olacak biçimde, özel bir depoda tutulan dosyaları bağlar. Bu depo, gönderilmeden önce her dosyayı bu biçime göre denetler. Reddedilen bir sayfa, sunucuya ulaşmadan yakalanır.

Bu sayfayı GitHub üzerinde düzenle