- shared/impressum.js: Name korrigiert (msbls/flexsiebels = Matthias Siebels, nicht Martin), echte Adresse aus youpc.org übernommen (c/o Online-Impressum.de #5892, Sankt Augustin). Neuer Owner 'flexsiebels', neuer Owner 'martinsiebels' (für Martin als separate Person mit eigener Adresse in Osnabrück). data-variant als offizielles Attribut, data-style weiterhin als Legacy-Alias. Rendert in #impressum falls vorhanden, sonst footer. - paragraphenraiter.de: hardcoded "Ein Projekt von Matthias Flexsiebels" → shared (msbls minimal) - patentonkel.de: hardcoded "Matthias Flexsiebels" + kaputter window.__impressum() → shared (msbls minimal) - smartin3.de: inline Impressum-Text → shared (martinsiebels full) in #impressum Div - ichbinotto.de: shared (flexsiebels full) mit echter § 5 TMG-Angabe Caddyfile: Regenerierung hat fehlende Einträge für 6034.de, traihard.de, zensiebels.de ergänzt. Refs: #3
78 lines
3.1 KiB
JavaScript
78 lines
3.1 KiB
JavaScript
/**
|
|
* Modulares Impressum — Single Source of Truth für alle Onepager-Sites.
|
|
*
|
|
* Einbinden:
|
|
* <script src="/shared/impressum.js"></script>
|
|
* <script src="/shared/impressum.js" data-owner="flexsiebels"></script>
|
|
* <script src="/shared/impressum.js" data-owner="flexsiebels" data-variant="full"></script>
|
|
*
|
|
* Konfiguration via data-Attribute am Script-Tag:
|
|
* data-owner="msbls" (default) — Kurzverweis auf msbls.de
|
|
* data-owner="flexsiebels" — Kurzverweis auf flexsiebels.de
|
|
* data-owner="martinsiebels" — volles Impressum Martin Siebels (separate Person, Osnabrück)
|
|
* data-variant="minimal" (default) — Einzeiler im Footer
|
|
* data-variant="full" — vollständige Angaben nach § 5 TMG
|
|
*
|
|
* Legacy-Alias: data-style (gleiche Werte wie data-variant).
|
|
*
|
|
* Render-Ziel: Element mit id="impressum" falls vorhanden, sonst <footer>, sonst body.
|
|
*/
|
|
(function () {
|
|
const script = document.currentScript;
|
|
const owner = script?.getAttribute('data-owner') || 'msbls';
|
|
const variant = script?.getAttribute('data-variant')
|
|
|| script?.getAttribute('data-style')
|
|
|| 'minimal';
|
|
|
|
// Gemeinsamer Block für Matthias Siebels (m) — beide Domains, gleiche Anschrift.
|
|
const matthiasAddress = 'Matthias Siebels<br>'
|
|
+ 'c/o Online-Impressum.de #5892<br>'
|
|
+ 'Europaring 90<br>'
|
|
+ '53757 Sankt Augustin';
|
|
|
|
const owners = {
|
|
msbls: {
|
|
minimal: 'Ein Projekt von <a href="https://msbls.de" target="_blank" rel="noopener">msbls.de</a>',
|
|
full: '<strong>Angaben gemäß § 5 TMG:</strong><br>'
|
|
+ matthiasAddress + '<br>'
|
|
+ 'E-Mail: <a href="mailto:mail@msbls.de">mail@msbls.de</a>',
|
|
},
|
|
flexsiebels: {
|
|
minimal: 'Ein Projekt von <a href="https://flexsiebels.de" target="_blank" rel="noopener">flexsiebels.de</a>',
|
|
full: '<strong>Angaben gemäß § 5 TMG:</strong><br>'
|
|
+ matthiasAddress + '<br>'
|
|
+ 'E-Mail: <a href="mailto:mail@flexsiebels.de">mail@flexsiebels.de</a>',
|
|
},
|
|
martinsiebels: {
|
|
minimal: 'Ein Projekt von <a href="https://martinsiebels.de" target="_blank" rel="noopener">Martin Siebels</a>',
|
|
full: '<strong>Angaben gemäß § 5 TMG:</strong><br>'
|
|
+ 'Martin Siebels<br>'
|
|
+ 'Leyer Str. 38<br>'
|
|
+ '49076 Osnabrück<br>'
|
|
+ 'E-Mail: <a href="mailto:Martin_Siebels@web.de">Martin_Siebels@web.de</a>',
|
|
},
|
|
};
|
|
|
|
const config = owners[owner] || owners.msbls;
|
|
const html = config[variant] || config.minimal;
|
|
|
|
const el = document.createElement('div');
|
|
el.className = 'onepager-impressum';
|
|
el.innerHTML = html;
|
|
|
|
// Dezent, erbt Farben vom Container.
|
|
el.style.cssText = 'text-align:center;font-size:0.75rem;opacity:0.6;padding:12px 0;margin-top:4px;line-height:1.7;';
|
|
el.querySelectorAll('a').forEach(a => {
|
|
a.style.color = 'inherit';
|
|
a.style.textDecoration = 'underline';
|
|
a.style.textDecorationThickness = '1px';
|
|
a.style.textUnderlineOffset = '2px';
|
|
});
|
|
|
|
const target = document.getElementById('impressum')
|
|
|| document.querySelector('footer .container')
|
|
|| document.querySelector('footer')
|
|
|| document.body;
|
|
target.appendChild(el);
|
|
})();
|