Added HKW sites

This commit is contained in:
Simon Martens
2022-10-28 03:01:08 +02:00
parent 8c8ad677af
commit 2bd41b943a
41 changed files with 377 additions and 271 deletions

View File

@@ -21,12 +21,12 @@ public class Briefecontroller : Controller {
_readerService = readerService; _readerService = readerService;
} }
[Route("Briefe")] [Route("/HKB/Briefe")]
[Route("Briefe/{id?}")] [Route("/HKB/Briefe/{id?}")]
public IActionResult Index(string? id) { public IActionResult Index(string? id) {
// Setup settings and variables // Setup settings and variables
var lib = _lib.GetLibrary(); var lib = _lib.GetLibrary();
var url = "/Briefe/"; var url = "/HKB/Briefe/";
var defaultID = "1"; var defaultID = "1";
// Normalisation and Validation, (some) data aquisition // Normalisation and Validation, (some) data aquisition

View File

@@ -4,12 +4,8 @@ using HaWeb.Models;
namespace HaWeb.Controllers; namespace HaWeb.Controllers;
[Route("Edition/[action]")] [Route("HKB/Edition/[action]")]
public class EditionController : Controller { public class EditionController : Controller {
public IActionResult Kontakt() {
return View("~/Views/HKB/Static/Kontakt.cshtml");
}
public IActionResult Mitwirkende() { public IActionResult Mitwirkende() {
return View("~/Views/HKB/Static/Mitwirkende.cshtml"); return View("~/Views/HKB/Static/Mitwirkende.cshtml");
} }
@@ -18,10 +14,6 @@ public class EditionController : Controller {
return View("~/Views/HKB/Static/Richtlinien.cshtml"); return View("~/Views/HKB/Static/Richtlinien.cshtml");
} }
public IActionResult Werkausgabe() {
return View("~/Views/HKB/Static/Werkausgabe.cshtml");
}
public IActionResult Editionsgeschichte() { public IActionResult Editionsgeschichte() {
return View("~/Views/HKB/Static/Editionsgeschichte.cshtml"); return View("~/Views/HKB/Static/Editionsgeschichte.cshtml");
} }

View File

@@ -5,7 +5,7 @@ using HaWeb.Models;
[Route("HKW/")] [Route("HKW/")]
public class HKWController : Controller { public class HKWController : Controller {
[Route("Start")] [Route("")]
public IActionResult Index() { public IActionResult Index() {
return View("~/Views/HKW/Static/Index.cshtml"); return View("~/Views/HKW/Static/Index.cshtml");
} }

View File

@@ -7,8 +7,19 @@ namespace HaWeb.Controllers;
public class HomeController : Controller { public class HomeController : Controller {
[Route("")] [Route("")]
[Route("Index")]
public IActionResult Index() { public IActionResult Index() {
return View("~/Views/Index.cshtml"); return View("~/Views/Home/Index.cshtml");
}
[Route("Kontakt")]
public IActionResult Kontakt() {
return View("~/Views/Home/Kontakt.cshtml");
}
[Route("Datenschutzerklaerung")]
public IActionResult Datenschutzerklaerung() {
return View("~/Views/Home/Datenschutzerklaerung.cshtml");
} }
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]

View File

@@ -2,31 +2,66 @@
using System.Diagnostics; using System.Diagnostics;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using HaWeb.Models; using HaWeb.Models;
namespace HaWeb.Controllers; namespace HaWeb.Controllers;
public class LegacyContoller : Controller { public class LegacyContoller : Controller {
// Umbennenung von Supplementa zu Register, Verschiebung der Edition nach /HKB
[Route("Supplementa/")] [Route("Supplementa/")]
[Route("Supplementa/Register")] [Route("Supplementa/Register")]
[Route("Supplementa/Register/{id?}")] [Route("Supplementa/Register/{id?}")]
public IActionResult SupplementaRegister(string? id) { public IActionResult SupplementaRegister(string? id) {
if (id != null) if (id != null)
return RedirectPermanent("/Register/Register/" + id); return RedirectPermanent("/HKB/Register/Register/" + id);
return RedirectPermanent("/Register/Register"); return RedirectPermanent("/HKB/Register/Register");
} }
[Route("Supplementa/Bibelstellen")] [Route("Supplementa/Bibelstellen")]
public IActionResult SupplementaBibelstellen(string? id) { public IActionResult SupplementaBibelstellen(string? id) {
if (id != null) if (id != null)
return RedirectPermanent("/Register/Bibelstellen/" + id); return RedirectPermanent("/HKB/Register/Bibelstellen/" + id);
return RedirectPermanent("/Register/Bibelstellen"); return RedirectPermanent("/HKB/Register/Bibelstellen");
} }
[Route("Supplementa/Forschung")] [Route("Supplementa/Forschung")]
public IActionResult SupplementaForschung(string? id) { public IActionResult SupplementaForschung(string? id) {
if (id != null) if (id != null)
return RedirectPermanent("/Register/Forschung/" + id); return RedirectPermanent("/HKB/Register/Forschung/" + id);
return RedirectPermanent("/Register/Forschung"); return RedirectPermanent("/HKB/Register/Forschung");
}
// Verschiebung der Edition nach /HKB/
[Route("/Edition/Mitwirkende")]
public IActionResult Mitwirkende() {
return RedirectPermanent("/HKB/Edition/Mitwirkende");
}
[Route("/Edition/Richtlinien")]
public IActionResult Richtlinien() {
return RedirectPermanent("/HKB/Edition/Richtlinien");
}
[Route("/Edition/Editionsgeschichte")]
public IActionResult Editionsgeschichte() {
return RedirectPermanent("/HKB/Edition/Editionsgeschichte");
}
[Route("/Briefe")]
[Route("/Briefe/{id?}")]
public IActionResult Briefe(string? id) {
if (id != null)
return RedirectPermanent("/HKB/Briefe/" + id);
return RedirectPermanent("/HKB/Briefe");
}
// Verschiebung der Werkausgabe nach /HKW/
[Route("/Edition/Werkausgabe")]
public IActionResult Werkausgabe() {
return RedirectPermanent("/HKW/Start");
}
// Verschiebung von Kontakt nach /
[Route("/Edition/Kontakt")]
public IActionResult Kontakt() {
return RedirectPermanent("/Kontakt");
} }
} }

View File

@@ -23,7 +23,7 @@ using Microsoft.FeatureManagement.Mvc;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Http.Features;
[Route("Register/[action]/{id?}")] [Route("/HKB/Register/[action]/{id?}")]
public class RegisterController : Controller { public class RegisterController : Controller {
[BindProperty(SupportsGet = true)] [BindProperty(SupportsGet = true)]
public string? search { get; set; } public string? search { get; set; }
@@ -38,10 +38,10 @@ public class RegisterController : Controller {
} }
[HttpGet] [HttpGet]
public IActionResult Register(string? id, string? search) { public IActionResult Allgemein(string? id, string? search) {
// Setup settings and variables // Setup settings and variables
var lib = _lib.GetLibrary(); var lib = _lib.GetLibrary();
var url = "/Register/Register/"; var url = "/HKB/Register/Allgemein/";
var category = "neuzeit"; var category = "neuzeit";
var defaultLetter = "A"; var defaultLetter = "A";
var title = "Allgemeines Register"; var title = "Allgemeines Register";
@@ -75,7 +75,7 @@ public class RegisterController : Controller {
public IActionResult Bibelstellen(string? id) { public IActionResult Bibelstellen(string? id) {
// Setup settings and variables // Setup settings and variables
var lib = _lib.GetLibrary(); var lib = _lib.GetLibrary();
var url = "/Register/Bibelstellen/"; var url = "/HKB/Register/Bibelstellen/";
var category = "bibel"; var category = "bibel";
var defaultLetter = "AT"; var defaultLetter = "AT";
var title = "Bibelstellenregister"; var title = "Bibelstellenregister";
@@ -108,7 +108,7 @@ public class RegisterController : Controller {
public IActionResult Forschung(string? id, string? search) { public IActionResult Forschung(string? id, string? search) {
// Setup settings and variables // Setup settings and variables
var lib = _lib.GetLibrary(); var lib = _lib.GetLibrary();
var url = "/Register/Forschung/"; var url = "/HKB/Register/Forschung/";
var category = "forschung"; var category = "forschung";
var defaultLetter = "A"; var defaultLetter = "A";
var title = "Forschungsbibliographie"; var title = "Forschungsbibliographie";
@@ -149,9 +149,9 @@ public class RegisterController : Controller {
[HttpPost] [HttpPost]
[DisableFormValueModelBinding] [DisableFormValueModelBinding]
[ValidateAntiForgeryToken] [ValidateAntiForgeryToken]
[Route("/Register/Forschung/{id}")] [Route("/HKB/Register/Forschung/{id}")]
[Route("/Register/Register/{id}")] [Route("/HKB/Register/Register/{id}")]
[Route("/Register/Bibelstellen/{id}")] [Route("/HKB/Register/Bibelstellen/{id}")]
public IActionResult Search(string? id) { public IActionResult Search(string? id) {
return Ok(); return Ok();
} }

View File

@@ -23,7 +23,7 @@ public class SucheController : Controller {
_lettersForPage = config.GetValue<int>("LettersOnPage"); _lettersForPage = config.GetValue<int>("LettersOnPage");
} }
[Route("Suche/{letterno}")] [Route("/HKB/Suche/{letterno}")]
public IActionResult GoTo(string letterno) { public IActionResult GoTo(string letterno) {
if (String.IsNullOrWhiteSpace(letterno)) return _error404(); if (String.IsNullOrWhiteSpace(letterno)) return _error404();
letterno = letterno.Trim(); letterno = letterno.Trim();
@@ -34,7 +34,7 @@ public class SucheController : Controller {
return _error404(); return _error404();
} }
[Route("Suche/{zhvolume}/{zhpage}")] [Route("/HKB/Suche/{zhvolume}/{zhpage}")]
public IActionResult GoToZH(string zhvolume, string zhpage) { public IActionResult GoToZH(string zhvolume, string zhpage) {
if (String.IsNullOrWhiteSpace(zhvolume) || String.IsNullOrWhiteSpace(zhpage)) return _error404(); if (String.IsNullOrWhiteSpace(zhvolume) || String.IsNullOrWhiteSpace(zhpage)) return _error404();
zhvolume = zhvolume.Trim(); zhvolume = zhvolume.Trim();
@@ -62,7 +62,12 @@ public class SucheController : Controller {
return _error404(); return _error404();
} }
[Route("Suche")] [Route("/HKB/")]
public IActionResult RedirectIndex(string? search, int page = 0) {
return RedirectPermanent("/HKB/Suche");
}
[Route("/HKB/Suche")]
// Order of actions: // Order of actions:
// Filter, sort by year, paginate, sort by Meta.Sort & .Order, parse // Filter, sort by year, paginate, sort by Meta.Sort & .Order, parse
public IActionResult Index(string? search, int page = 0) { public IActionResult Index(string? search, int page = 0) {
@@ -90,7 +95,7 @@ public class SucheController : Controller {
return _paginateSend(lib, page, metasbyyear); return _paginateSend(lib, page, metasbyyear);
} }
[Route("Suche/Person/{person}")] [Route("/HKB/Suche/Person/{person}")]
public IActionResult Person(string person, int page = 0) { public IActionResult Person(string person, int page = 0) {
if (String.IsNullOrWhiteSpace(person)) return _error404(); if (String.IsNullOrWhiteSpace(person)) return _error404();
person = person.Trim(); person = person.Trim();

View File

@@ -17,16 +17,16 @@ public class XMLProvider : IXMLProvider {
_Roots = xmlservice.GetRootsDictionary(); _Roots = xmlservice.GetRootsDictionary();
_Files = _ScanFiles(); _Files = _ScanFiles();
_HamannFiles = _ScanHamannFiles(); _HamannFiles = _ScanHamannFiles();
if (_Files != null) if (_Files != null)
foreach(var category in _Files) foreach (var category in _Files)
if (category.Value != null) if (category.Value != null)
xmlservice.AutoUse(category.Value); xmlservice.AutoUse(category.Value);
} }
public List<IFileInfo>? GetHamannFiles() => this._HamannFiles; public List<IFileInfo>? GetHamannFiles() => this._HamannFiles;
public IFileInfo? GetInProduction() { public IFileInfo? GetInProduction() {
if (_InProduction == null || !_InProduction.Any()) return null; if (_InProduction == null || !_InProduction.Any()) return null;
return this._InProduction.Peek(); return this._InProduction.Peek();
} }
@@ -43,7 +43,7 @@ public class XMLProvider : IXMLProvider {
public void SetInProduction(IFileInfo info) { public void SetInProduction(IFileInfo info) {
if (_InProduction == null) _InProduction = new Stack<IFileInfo>(); if (_InProduction == null) _InProduction = new Stack<IFileInfo>();
_InProduction.Push(info); _InProduction.Push(info);
} }
public FileList? GetFiles(string prefix) public FileList? GetFiles(string prefix)
=> _Files != null && _Files.ContainsKey(prefix) ? _Files[prefix] : null; => _Files != null && _Files.ContainsKey(prefix) ? _Files[prefix] : null;
@@ -59,12 +59,11 @@ public class XMLProvider : IXMLProvider {
Directory.CreateDirectory(directory); Directory.CreateDirectory(directory);
using (var targetStream = System.IO.File.Create(path)) using (var targetStream = System.IO.File.Create(path))
await doc.Save(targetStream, ModelState); await doc.Save(targetStream, ModelState);
} } catch (Exception ex) {
catch (Exception ex) { ModelState.AddModelError("Error", "Speichern der Datei fehlgeschlagen: " + ex.Message);
ModelState.AddModelError("Error", "Speichern der Datei fehlgeschlagen: " + ex.Message);
return; return;
} }
var info = _fileProvider.GetFileInfo(Path.Combine(doc.Prefix, doc.FileName)); var info = _fileProvider.GetFileInfo(Path.Combine(doc.Prefix, doc.FileName));
if (info == null) { if (info == null) {
ModelState.AddModelError("Error", "Auf die neu erstellte Dtaei konnte nicht zugegriffen werden."); ModelState.AddModelError("Error", "Auf die neu erstellte Dtaei konnte nicht zugegriffen werden.");
@@ -89,8 +88,7 @@ public class XMLProvider : IXMLProvider {
Directory.CreateDirectory(directory); Directory.CreateDirectory(directory);
using (var targetStream = System.IO.File.Create(path)) using (var targetStream = System.IO.File.Create(path))
await element.SaveAsync(targetStream, SaveOptions.DisableFormatting, new CancellationToken()); await element.SaveAsync(targetStream, SaveOptions.DisableFormatting, new CancellationToken());
} } catch (Exception ex) {
catch (Exception ex) {
ModelState.AddModelError("Error", "Die Datei konnte nicht gespeichert werden: " + ex.Message); ModelState.AddModelError("Error", "Die Datei konnte nicht gespeichert werden: " + ex.Message);
return null; return null;
} }

View File

@@ -38,7 +38,7 @@ public static class CommentHelpers {
sb.Append(HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)); sb.Append(HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
arrow = true; arrow = true;
} }
sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", LETLINKCLASS, "/Briefe/" + let.Autopsic + "#" + blk.Page + "-" + blk.Line)); sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", LETLINKCLASS, "/HKB/Briefe/" + let.Autopsic + "#" + blk.Page + "-" + blk.Line));
var linkstring = ""; var linkstring = "";
var pglnstring = ""; var pglnstring = "";
linkstring += let.Autopsic; linkstring += let.Autopsic;

View File

@@ -46,7 +46,7 @@ public class LinkHelper {
new HaWeb.HTMLHelpers.TagHelpers.Attribute() { Name = "rel", Value = "noopener noreferrer" })); new HaWeb.HTMLHelpers.TagHelpers.Attribute() { Name = "rel", Value = "noopener noreferrer" }));
if (tag.Name == "intlink" && tag.Values.ContainsKey("letter") && _lib.Metas.ContainsKey(tag["letter"])) { if (tag.Name == "intlink" && tag.Values.ContainsKey("letter") && _lib.Metas.ContainsKey(tag["letter"])) {
var letter = _lib.Metas[tag["letter"]]; var letter = _lib.Metas[tag["letter"]];
_sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", LETLINKCLASS, "/Briefe/" + letter.Autopsic + "#" + tag["page"] + "-" + tag["line"])); _sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", LETLINKCLASS, "/HKB/Briefe/" + letter.Autopsic + "#" + tag["page"] + "-" + tag["line"]));
if (!tag.Values.ContainsKey("linktext") || tag.Values["linktext"] == "true") { if (!tag.Values.ContainsKey("linktext") || tag.Values["linktext"] == "true") {
var linkstring = ""; var linkstring = "";
var ZHstring = ""; var ZHstring = "";
@@ -80,11 +80,11 @@ public class LinkHelper {
var linkloc = String.IsNullOrWhiteSpace(comment.Parent) ? comment.Index : comment.Parent; var linkloc = String.IsNullOrWhiteSpace(comment.Parent) ? comment.Index : comment.Parent;
if (_followlinksinthis) if (_followlinksinthis)
if (comment.Type == "neuzeit") if (comment.Type == "neuzeit")
_sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", REFLINKCLASS, "/Register/Register/" + linkloc[0] + "#" + comment.Index)); _sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", REFLINKCLASS, "/HKB/Register/Allgemein/" + linkloc[0] + "#" + comment.Index));
else if (comment.Type == "bibel") else if (comment.Type == "bibel")
_sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", REFLINKCLASS, "/Register/Bibelstellen/" + linkloc[0] + linkloc[1] + "#" + comment.Index)); _sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", REFLINKCLASS, "/HKB/Register/Bibelstellen/" + linkloc[0] + linkloc[1] + "#" + comment.Index));
else if (comment.Type == "forschung") else if (comment.Type == "forschung")
_sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", REFLINKCLASS, "/Register/Forschung/" + linkloc[0] + "#" + comment.Index)); _sb.Append(HTMLHelpers.TagHelpers.CreateElement("a", REFLINKCLASS, "/HKB/Register/Forschung/" + linkloc[0] + "#" + comment.Index));
_sb.Append(GetLemmaString(tag, comment)); _sb.Append(GetLemmaString(tag, comment));
} }
} }

View File

@@ -7,17 +7,6 @@
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup> </PropertyGroup>
<!-- <ItemGroup>
<Content Remove="wwwroot\css\*.css" />
<Content Include="wwwroot\css\*.css" Watch="false" />
<Content Remove="wwwroot\css\output.css" />
<Content Include="wwwroot\css\output.css" Watch="true" />
</ItemGroup> -->
<Target Name="Tailwind" >
<Exec Command="npm run css_build" />
</Target>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.FeatureManagement.AspNetCore" Version="2.5.1" /> <PackageReference Include="Microsoft.FeatureManagement.AspNetCore" Version="2.5.1" />
</ItemGroup> </ItemGroup>

View File

@@ -25,13 +25,15 @@ Note that nodejs is used only as a build tool for css (and possibly in the futur
Run Run
`dotnet watch --verbose --project Tailwind.csproj build -- Tailwind.csproj` and `dotnet watch run` and
`dotnet watch --verbose --project HaWeb.csproj -- run --project HaWeb.csproj` `npm run watch`
in seperate terminals to watch for specific file changes in .css / .js / .cshtml / .json or .cs files and to rebuild the css-Files and the app automatically on change. in seperate terminals to watch for specific file changes in .css / .js / .cshtml / .json or .cs files and to rebuild the css-Files and the app automatically on change.
Recommended vscode plugins include the XML Tools, Prettier, c#, Nuget Gallery, Tailwind CSS IntelliSense & TODO Tree. There is a chance you need to set the Environment Variable to 'Development' in Windows, do that with `$Env:ASPNETCORE_ENVIRONMENT = "Development"`.
Recommended vscode plugins include the XML Tools, c#, Tailwind CSS IntelliSense & TODO Tree.
## Redesign der Hamann-Vebseite, drittes Update ## Redesign der Hamann-Vebseite, drittes Update
Veränderungenen in der Funktionalität für den Benutzer Veränderungenen in der Funktionalität für den Benutzer
@@ -74,6 +76,7 @@ TODO 1127 zu breit Hm -> Stiftung
TODO 659 align center und align-right ueberschneidugn -> Stiftung TODO 659 align center und align-right ueberschneidugn -> Stiftung
Vor dem internen release: Vor dem internen release:
TODO HKW
TODO pills are not mobile friendly (hover / click), Pills allgemein Ästhetik TODO pills are not mobile friendly (hover / click), Pills allgemein Ästhetik
TODO Dark mode Strartseite Upload TODO Dark mode Strartseite Upload
TODO Suche Register TODO Suche Register

View File

@@ -8,7 +8,6 @@
<div class="ha-search"> <div class="ha-search">
@if (Model.Letters != null) { @if (Model.Letters != null) {
<div class="ha-searchhead"> <div class="ha-searchhead">
<h1>Briefauswahl</h1> <h1>Briefauswahl</h1>
<div class="ha-searchnav"> <div class="ha-searchnav">
@@ -31,7 +30,6 @@
</div> </div>
</div> </div>
<div class="ha-searchbody"> <div class="ha-searchbody">
<div class="ha-letterlist"> <div class="ha-letterlist">
@* Letter Loop *@ @* Letter Loop *@
@@ -92,7 +90,7 @@
const SUBMITGOTO = function(filter) { const SUBMITGOTO = function(filter) {
let f = filter.value; let f = filter.value;
window.location.href = "/Suche/" + f; window.location.href = "/HKB/Suche/" + f;
} }
window.addEventListener("load", () => { window.addEventListener("load", () => {
@@ -143,7 +141,7 @@
const SUBMITZHSEARCH = function(volume, page) { const SUBMITZHSEARCH = function(volume, page) {
let vol = volume.options[volume.selectedIndex].value; let vol = volume.options[volume.selectedIndex].value;
let pg = page.value; let pg = page.value;
window.location.href = "/Suche/" + vol + "/" + pg; window.location.href = "/HKB/Suche/" + vol + "/" + pg;
} }
window.addEventListener("load", () => { window.addEventListener("load", () => {

View File

@@ -4,8 +4,8 @@
} }
<div class="ha-static"> <div class="ha-static">
<div class="md:pr-80"> <h1>Editionsgeschichtliche Voraussetzungen</h1>
<h1>Editionsgeschichtliche Voraussetzungen</h1> <div class="ha-static-right-margin">
<p>Von 1899 bis zu seinem Tod 1929 sammelte Arthur Warda, Amtsrichter in Königsberg und Mitarbeiter an den ersten Briefbänden der Akademieausgabe von Kants Gesammelten Werken, alles in Bezug auf Hamann Erreichbare in Königsberg, um eine Gesamtausgabe der Werke und Briefe auf den Weg zu bringen.<a class="ha-sup" name="FnZ-2" href="#FnA-2">2</a> Bei seinem Tod 1929 hatte er von Dreivierteln der fast 1.200 Briefe handschriftliche Abschriften in der Qualität von Satzvorlagen für den Druck angefertigt. In den Jahren 1905/06 schaffte er es, den Erwerb der drei wichtigsten Hamann-Nachlässe durch die Königsberger Staats- und Universitätsbibliothek zu vermitteln.<a class="ha-sup" name="FnZ-3" href="#FnA-3">3</a></p> <p>Von 1899 bis zu seinem Tod 1929 sammelte Arthur Warda, Amtsrichter in Königsberg und Mitarbeiter an den ersten Briefbänden der Akademieausgabe von Kants Gesammelten Werken, alles in Bezug auf Hamann Erreichbare in Königsberg, um eine Gesamtausgabe der Werke und Briefe auf den Weg zu bringen.<a class="ha-sup" name="FnZ-2" href="#FnA-2">2</a> Bei seinem Tod 1929 hatte er von Dreivierteln der fast 1.200 Briefe handschriftliche Abschriften in der Qualität von Satzvorlagen für den Druck angefertigt. In den Jahren 1905/06 schaffte er es, den Erwerb der drei wichtigsten Hamann-Nachlässe durch die Königsberger Staats- und Universitätsbibliothek zu vermitteln.<a class="ha-sup" name="FnZ-3" href="#FnA-3">3</a></p>
<p>1904 wandte er sich mit dem Projekt einer Werk- und Briefausgabe an die Preußische Akademie der Wissenschaften zu Berlin (= PAW). Nach jahrelangen Verhandlungen begann die Unternehmung 1914 konkrete Züge anzunehmen, doch der Ausbruch des Ersten Weltkriegs erstickte diese Bestrebungen sogleich wieder im Keim. Erst 1927 betraute die Deutsche Kommission Julius Petersen (18781941) mit der Organisation einer Gesamtausgabe.<a class="ha-sup" name="FnZ-4" href="#FnA-4">4</a> Als Bearbeiter der Brief-Bände wurde Arthur Warda benannt. Zeitgleich suchte die Preußische Akademie der Wissenschaften über Josef Nadler, zu dieser Zeit Professor für Neuere deutsche Literaturgeschichte in Königsberg, den Kontakt zur Königsberger Gelehrten Gesellschaft, um diese für eine gemeinsame Finanzierung der Ausgabe zu gewinnen. Josef Nadler bot sich als Bearbeiter der Werkbände an, im Juli 1928 übersandte er einen Ausgabenplan.</p> <p>1904 wandte er sich mit dem Projekt einer Werk- und Briefausgabe an die Preußische Akademie der Wissenschaften zu Berlin (= PAW). Nach jahrelangen Verhandlungen begann die Unternehmung 1914 konkrete Züge anzunehmen, doch der Ausbruch des Ersten Weltkriegs erstickte diese Bestrebungen sogleich wieder im Keim. Erst 1927 betraute die Deutsche Kommission Julius Petersen (18781941) mit der Organisation einer Gesamtausgabe.<a class="ha-sup" name="FnZ-4" href="#FnA-4">4</a> Als Bearbeiter der Brief-Bände wurde Arthur Warda benannt. Zeitgleich suchte die Preußische Akademie der Wissenschaften über Josef Nadler, zu dieser Zeit Professor für Neuere deutsche Literaturgeschichte in Königsberg, den Kontakt zur Königsberger Gelehrten Gesellschaft, um diese für eine gemeinsame Finanzierung der Ausgabe zu gewinnen. Josef Nadler bot sich als Bearbeiter der Werkbände an, im Juli 1928 übersandte er einen Ausgabenplan.</p>

View File

@@ -5,7 +5,7 @@
<div class="ha-static"> <div class="ha-static">
<div class="md:pr-80"> <div class="ha-static-right-margin">
<h1>Mitwirkende</h1> <h1>Mitwirkende</h1>
<h3>Philologische Mitarbeit</h3> <h3>Philologische Mitarbeit</h3>
Dr. Gregor Babelotzky (seit 2019)<br/> Dr. Gregor Babelotzky (seit 2019)<br/>
@@ -25,6 +25,6 @@
<h3>Zitierempfehlung</h3> <h3>Zitierempfehlung</h3>
<p>Johann Georg Hamann: <span class="italic">Kommentierte Briefausgabe.</span> Hg. von Leonard Keidel und Janina Reibold, auf Grundlage der Vorarbeiten Arthur Henkels, unter Mitarbeit von Gregor Babelotzky, Konrad Bucher, Christian Großmann, Carl Friedrich Haak, Luca Klopfer, Johannes Knüchel, Isabel Langkabel und Simon Martens (Heidelberg 2020&#x202f;ff.). URL: www.hamann-ausgabe.de [= HKB] Johann Georg Hamann: <span class="italic">Kommentierte Briefausgabe.</span> Hg. von Leonard Keidel und Janina Reibold, auf Grundlage der Vorarbeiten Arthur Henkels, unter Mitarbeit von Gregor Babelotzky, Konrad Bucher, Christian Großmann, Carl Friedrich Haak, Luca Klopfer, Johannes Knüchel, Isabel Langkabel und Simon Martens (Heidelberg 2020&#x202f;ff.). URL: www.hamann-ausgabe.de [= HKB]
</div> </div>
</div> </div>

View File

@@ -4,7 +4,7 @@
} }
<div class="ha-static"> <div class="ha-static">
<div class="md:pr-80"> <div class="ha-static-right-margin">
<h1>Editionsrichtlinien</h1> <h1>Editionsrichtlinien</h1>
<p>Die Online-Edition der Briefe Johann Georg Hamanns bietet dieselben als durchsuchbaren Volltext. Die Einteilung der Bände der gedruckten Briefausgabe ZH (J.G. Hamann, Briefwechsel. Hg. von Walther Ziesemer und Arthur Henkel. 7 Bde. [Frankfurt a. M. 19551979]) wird übernommen. Die derzeit hier veröffentlichten Briefe entsprechen im Umfang dem ersten Band von ZH und zusammen mit dem Stellenkommentar und den Registern unserem Editionsstand vom 27. Januar 2022. <p>Die Online-Edition der Briefe Johann Georg Hamanns bietet dieselben als durchsuchbaren Volltext. Die Einteilung der Bände der gedruckten Briefausgabe ZH (J.G. Hamann, Briefwechsel. Hg. von Walther Ziesemer und Arthur Henkel. 7 Bde. [Frankfurt a. M. 19551979]) wird übernommen. Die derzeit hier veröffentlichten Briefe entsprechen im Umfang dem ersten Band von ZH und zusammen mit dem Stellenkommentar und den Registern unserem Editionsstand vom 27. Januar 2022.
@@ -64,7 +64,7 @@
</table> </table>
</div> </div>
<div class="md:pr-80"> <div class="ha-static-right-margin">
<p>Die Briefnumerierung und Seiten- und Zeilenzählung wird von ZH übernommen, jedoch da, wo ZH fehlerhaft ist (bes. bei der Zeilenzählung), stillschweigend korrigiert. Auch bei der Datierung der Briefe wurden Korrekturen vorgenommen, die sich auf die Reihenfolge auswirken, aber die ZH-Numerierung wurde der wechselseitigen Benutzbarkeit von Buch- und Online-Edition wegen belassen. Die digitale Einrichtung der Edition (im XML-Format) bringt geringfügige Einschränkungen in der Textdarstellung mit sich: So stehen etwa Wörter, die in ZH am Zeilenende getrennt und umbrochen sind, hier nicht-getrennt in der je zweiten Zeile. <p>Die Briefnumerierung und Seiten- und Zeilenzählung wird von ZH übernommen, jedoch da, wo ZH fehlerhaft ist (bes. bei der Zeilenzählung), stillschweigend korrigiert. Auch bei der Datierung der Briefe wurden Korrekturen vorgenommen, die sich auf die Reihenfolge auswirken, aber die ZH-Numerierung wurde der wechselseitigen Benutzbarkeit von Buch- und Online-Edition wegen belassen. Die digitale Einrichtung der Edition (im XML-Format) bringt geringfügige Einschränkungen in der Textdarstellung mit sich: So stehen etwa Wörter, die in ZH am Zeilenende getrennt und umbrochen sind, hier nicht-getrennt in der je zweiten Zeile.
<p>Sofern die handschriftlichen Originale der Briefe, Abschriften oder Druckbogen von ZH (siehe dazu die <a href="/Edition/Editionsgeschichte">editionsgeschichtlichen Voraussetzungen</a>) vorliegen, wird der Brieftext an diesen geprüft und ggf. korrigiert. Text-Korrekturen, die mehrerlei Ursache haben (Lese- und Druckfehler oder Fehler nach Kollation mit ursprünglichen Druckbogen, Manuskripten oder Abschriften), werden in den Online-Brieftexten vorgenommen, der ursprüngliche Wortlaut in ZH sowie die Gründe für den Texteingriff sind jeweils in den textkritischen Anmerkungen unter dem Brieftext kenntlich gemacht. Soweit erstellbar, ist im Apparat für jeden Brief die Provenienz geliefert. <p>Sofern die handschriftlichen Originale der Briefe, Abschriften oder Druckbogen von ZH (siehe dazu die <a href="/Edition/Editionsgeschichte">editionsgeschichtlichen Voraussetzungen</a>) vorliegen, wird der Brieftext an diesen geprüft und ggf. korrigiert. Text-Korrekturen, die mehrerlei Ursache haben (Lese- und Druckfehler oder Fehler nach Kollation mit ursprünglichen Druckbogen, Manuskripten oder Abschriften), werden in den Online-Brieftexten vorgenommen, der ursprüngliche Wortlaut in ZH sowie die Gründe für den Texteingriff sind jeweils in den textkritischen Anmerkungen unter dem Brieftext kenntlich gemacht. Soweit erstellbar, ist im Apparat für jeden Brief die Provenienz geliefert.

View File

@@ -1,38 +0,0 @@
@{
ViewData["Title"] = "Werkausgabe";
ViewData["SEODescription"] = "Johann Georg Hamann: Kommentierte Briefausgabe. Informationen zur Werkausgabe.";
}
<div class="ha-static">
<div class="md:pr-80">
<h1>Werkausgabe</h1>
<h3>Kommentierte Neuedition ausgewählter Werke</h3>
<p>Die Edition der Werke Hamanns durch Josef Nadler<a class="ha-sup" name="FnZ-1" href="#FnA-1">1</a> ist problematisch und wird von der Hamann-Philologie bereits seit Erscheinen des ersten Bandes stark kritisiert.<a class="ha-sup" name="FnZ-2" href="#FnA-2">2</a> Die Kritik betrifft einerseits die konzeptionelle Schwäche der Ausgabe, die Schriften nach Sach- anstelle von Zeitgruppen anzuordnen, andererseits und vor allem jedoch textkritische Probleme wie unzählige Fehllesungen, falsche Manuskriptanordnungen sowie Nadlers willkürlichen Umgang mit den handschriftlichen Annotationen Hamanns, die von ihm meist ohne Nachweis und Angabe von Gründen mit dem Drucktext vermischt wurden. Aus diesen Gründen wird im Rahmen der Kommentierten Hamann-Ausgabe die Neuedition ausgewählter Schriften Hamanns mit Kommentar erfolgen. Dabei werden
<ul class="list-disc ml-8">
<li>sämtliche überlieferte Materialien im Zusammenhang mit dem jeweiligen Werk historisch-kritisch ediert</li>
<li>sämtliche überlieferte handschriftliche Annotationen Hamanns differenziert zum Drucktext vermerkt. Kontamination verschiedener Textträger sind methodisch ausgeschlossen.</li>
<li>Auszeichnungen sowie die typographische Eigentümlichkeit der Texte differenziert in eine moderne Typographie übersetzt</li>
<li>Texteingriffe, wo diese nötig sind, als solche gekennzeichnet.</li>
</ul>
<p>Der Kommentar wird sowohl als Stellen-, als auch als systematisch aufgebauter Kommentar erfolgen. Darüber hinaus wird jeder Band
<ul class="list-disc ml-8">
<li>eine ausführliche Einleitung</li>
<li>Dokumente zur Entstehungsgeschichte</li>
<li>eine Bibliographie</li>
</ul>
<p>enthalten.
<h3>Bereits erschienene Bände</h3>
<p>Johann Georg Hamann, <span class="italic">Fliegender Brief.</span> Historisch-kritische Ausgabe. Mit einer Einführung, Kommentar und Dokumenten zur Entstehungsgeschichte hg. von Janina Reibold, 2 Bde. [= Philosophische Bibliothek 707] (Hamburg: Meiner Verlag 2018) [<a class="ExternerLink" href="https://meiner.de/fliegender-brief.html">‣</a>]
<p>Johann Georg Hamann, <span class="italic">Sokratische Denkwürdigkeiten. Wolken.</span> Historisch-kritische Ausgabe. Mit einer Einführung, einem Stellenkommentar und Dokumenten zur Entstehungsgeschichte hg. von Janina Reibold und Leonard Keidel. Unter Mitarbeit von Konrad Bucher. [= Philosophische Bibliothek 748] (Hamburg: Meiner Verlag 2021) [<a class="ExternerLink" href="https://meiner.de/philosophische-bibliothek/h/hamann/sokratische-denkwurdigkeiten-wolken.html">‣</a>]
<h3>Geplante Bände</h3>
<p>Kreuzzüge des Philologen
<div class="my-8 mx-8">
<div class="ha-footnote"><a class="ha-sup ha-footnote-ref" name="FnA-1" href="#FnZ-1">1</a> Johann Georg Hamann, Sämtliche Werke. Historisch-kritische Ausgabe. Hg. v. Josef Nadler. 6 Bde. (Wien 194957).</div>
<div class="ha-footnote"><a class="ha-sup ha-footnote-ref" name="FnA-2" href="#FnZ-2">2</a> Vgl. etwa Walter Boehlich, Forschungsbericht. Die historisch-kritische Hamann-Ausgabe, in: Euphorion 50 (1956), 341356.</div>
</div>
</div>
</div>

View File

@@ -1 +1,50 @@
Hello from FliegenderBrief! @{
ViewData["Title"] = "Fliegender Brief";
ViewData["SEODescription"] = "Johann Georg Hamann: Fliegender Brief. Informationen zur Ausgabe.";
}
<div class="ha-static">
<h1 class="!leading-tight">Fliegender Brief</h1>
<div class="ha-static-right-margin relative">
<div class="hidden desktop:flex desktop:my-0 desktop:flex-col desktop:absolute desktop:right-0">
<div><img src="/img/FliegenderBrief.jpg" class="w-72"/></div>
<div>Im Buch blättern (<a href="https://meiner.de/reading/web/?isbn=9783787334230">‣</a>)</div>
</div>
<p>Johann Georg Hamann: Fliegender Brief. Historisch-kritische Ausgabe. Mit einer Einführung, Kommentar und Dokumenten zur Entstehungsgeschichte hg. von Janina Reibold, 2 Bde. [= Philosophische Bibliothek 707] (Hamburg: Felix Meiner Verlag 2018) [ISBN: 978-3-7873-3423-0] (<a href="https://meiner.de/fliegender-brief.html">‣</a>)
<p>Auch als Lizenzausgabe der Wissenschaftlichen Buchgesellschaft 2018 erschienen. (<a href="https://www.wbg-wissenverbindet.de/shop/30018/fliegender-brief">‣</a>)
<div class="flex flex-row gap-x-3 my-6 desktop:hidden">
<div><img src="/img/FliegenderBrief.jpg" class="w-72"/></div>
<div>Im Buch blättern (<a href="https://meiner.de/reading/web/?isbn=9783787334230]">‣</a>)</div>
</div>
<p>Die erste vollständige historisch-kritische Edition des Fragment gebliebenen, großen Schreibprojektes des »aufgeklärten« Aufklärers J.G. Hamann. Die zweibändige Ausgabe bietet sämtliche Handschriften und Druckbogen zum »Fliegenden Brief« in chronologischer Folge, diplomatisch transkribiert und als Faksimile reproduziert. Eine ausführliche Einführung, ein umfangreicher Kommentar sowie zahlreiche Dokumente zur Entstehungsgeschichte erschließen das Werk.
<p>Mit dem »Fliegenden Brief« beabsichtigte Hamann zwischen 1785 und 1787 seine literarische Tätigkeit zu beschließen. Dem Anspruch nach wollte er sein gesamtes Schreiben und Denken öffentlich reflektieren und dabei insbesondere Darstellungsfragen diskutieren sowie seinen vielgescholtenen dunklen Stil und das von ihm entwickelte Verfahren der indirekten Mitteilung rechtfertigen. In einer dramatischen, 16 Monate währenden literarischen Berg- und Talfahrt scheiterte er schließlich daran, das anspielungsreiche, hochreflektierte und von radikalem Sprachdenken geprägte Werk zum Abschluss zu bringen, das mit den Worten endet: »usw. ich kann nicht mehr –«.
<p>Vom »Fliegenden Brief« sind Dutzende von Entwürfen überliefert. Kein anderes Schreibprojekt ermöglicht daher bessere Einblicke in die Produktionsbedingungen und die Hamannsche Arbeitsweise, die sich durch Kombination und Re-Kombination der unterschiedlichsten Quellen und Zitate auszeichnet. Die zweibändige Ausgabe bietet erstmals eine historisch-kritische und kommentierte Edition sämtlicher Dokumente zum »Fliegenden Brief«. Ein Spezifikum der Ausgabe ist ihr zweigeteilter Kommentar. Zum einen findet sich in der Marginalspalte der Edition jeweils eine kurze Annotation, die den konkreten Anspielungshorizont der Stelle unmittelbar vor Augen führt. Zum anderen bietet der zweite Band der Ausgabe einen ausführlichen Kommentar, der sich strukturell nach Quellenarten (Klassisches Altertum, Neuzeit, Bibel) sowie in einen Personen-, Wort- und Sachkommentar aufgliedert. Neben Edition und Kommentar enthält die Ausgabe eine ausführliche Einführung sowie umfangreiche Dokumente zur Entstehungsgeschichte und bietet der Forschung erstmals eine solide Basis für die Beschäftigung mit einem der wichtigsten und zugleich schwierigsten Texte des Hamannschen Werks.
<h3>Rezensionen</h3>
<ul class="list-disc">
<li>Martin Endres in: Editionen in der Kritik 11 (2021), S. 290297
<li>Daniel Elon in: Hegel-Studien 53/54 (2020), S. 324326
<li>Eckhard Schumacher in: Frankfurter Allgemeine Zeitung, 2.9.2020, S. N3
<li>Wilhelm Schmidt-Biggemann in: Philosophische Rundschau 67 (2020), H. 1, S. 7074
<li>Cord Friedrich Berghahn in: Germanisch-Romanische Monatsschrift 69.2 (2019), S. 216219
<li>Volker Hoffmann in: Arbitrium 37 (2019), S. 7679
<li>Thomas Meyer in: Süddeutsche Zeitung, 26.4.2018, S. 12
<li>Till Kinzel in: IFB 18-2 (2018).
</ul>
<h3>Zitate aus den Rezensionen</h3>
»Faszinierende Ausgabe [...] , deren Präzision und philologische Umsicht man gar nicht genug loben kann.« Cord-Friedrich Berghahn, Germanisch-Romanische Monatsschrift 69.2 (2019)
<p>»Der Anspruch der Heidelberger Germanistin, Hamanns Selbstkritik „erstmals lesbar zu machen“, ist angesichts von vier schon vorliegenden Ausgaben ehrgeizig, aber sie löst ihn mit ihrer in jeder Hinsicht wegweisenden Edition souverän ein.« Eckhardt Schumacher, FAZ
<p>»Die Transkription der parallel mitabgedruckten Manuskripte ist an editorischer Akribie und Sorgfalt kaum zu überbieten. Dies geht auch aus Reibolds ausführlicher Darlegung der Editionsprinzipien hervor, bis hin zu kleinsten graphischen Details . Mehr ist in dieser Hinsicht tatsächlich nicht möglich.« Daniel Elon, Hegel-Studien 53/54
</div>
</div>

View File

@@ -1 +1,37 @@
Hello from HKW Index! @{
ViewData["Title"] = "Hamann: Werkausgabe";
ViewData["SEODescription"] = "Informationen zur kommentierten Werkausgabe (HKW)";
}
<div class="ha-static">
<h1>Kommentierte Neuedition ausgewählter Werke</h1>
<div class="ha-static-right-margin">
<p>Die Edition der Werke Hamanns durch Josef Nadler<a class="ha-sup" name="FnZ-1" href="#FnA-1">1</a> ist problematisch und wird von der Hamann-Philologie bereits seit Erscheinen des ersten Bandes stark kritisiert.<a class="ha-sup" name="FnZ-2" href="#FnA-2">2</a> Die Kritik betrifft einerseits die konzeptionelle Schwäche der Ausgabe, die Schriften nach Sach- anstelle von Zeitgruppen anzuordnen, andererseits und vor allem jedoch textkritische Probleme wie unzählige Fehllesungen, falsche Manuskriptanordnungen sowie Nadlers willkürlichen Umgang mit den handschriftlichen Annotationen Hamanns, die von ihm meist ohne Nachweis und Angabe von Gründen mit dem Drucktext vermischt wurden. Aus diesen Gründen wird im Rahmen der Kommentierten Hamann-Ausgabe die Neuedition ausgewählter Schriften Hamanns mit Kommentar erfolgen. Dabei werden
<ul class="list-disc ml-8">
<li>sämtliche überlieferte Materialien im Zusammenhang mit dem jeweiligen Werk historisch-kritisch ediert</li>
<li>sämtliche überlieferte handschriftliche Annotationen Hamanns differenziert zum Drucktext vermerkt. Kontamination verschiedener Textträger sind methodisch ausgeschlossen.</li>
<li>Auszeichnungen sowie die typographische Eigentümlichkeit der Texte differenziert in eine moderne Typographie übersetzt</li>
<li>Texteingriffe, wo diese nötig sind, als solche gekennzeichnet.</li>
</ul>
<p>Der Kommentar wird sowohl als Stellen-, als auch als systematisch aufgebauter Kommentar erfolgen. Darüber hinaus wird jeder Band
<ul class="list-disc ml-8">
<li>eine ausführliche Einleitung</li>
<li>Dokumente zur Entstehungsgeschichte</li>
<li>eine Bibliographie</li>
</ul>
<p>enthalten.
<h3>Bereits erschienene Bände</h3>
Johann Georg Hamann, <span class="italic">Fliegender Brief.</span> Historisch-kritische Ausgabe. Mit einer Einführung, Kommentar und Dokumenten zur Entstehungsgeschichte hg. von Janina Reibold, 2 Bde. [= Philosophische Bibliothek 707] (Hamburg: Meiner Verlag 2018) [<a class="" asp-controller="HKW" asp-action="FliegenderBrief">‣</a>]
<p>Johann Georg Hamann, <span class="italic">Sokratische Denkwürdigkeiten. Wolken.</span> Historisch-kritische Ausgabe. Mit einer Einführung, einem Stellenkommentar und Dokumenten zur Entstehungsgeschichte hg. von Janina Reibold und Leonard Keidel. Unter Mitarbeit von Konrad Bucher. [= Philosophische Bibliothek 748] (Hamburg: Meiner Verlag 2021) [<a class="" asp-controller="HKW" asp-action="SokratischeDenkwuerdigkeiten">‣</a>]
<h3>Geplante Bände</h3>
Kreuzzüge des Philologen [<a class="" asp-controller="HKW" asp-action="Kreuzzuege">‣</a>]
<div class="my-8 mx-8">
<div class="ha-footnote"><a class="ha-sup ha-footnote-ref" name="FnA-1" href="#FnZ-1">1</a> Johann Georg Hamann, Sämtliche Werke. Historisch-kritische Ausgabe. Hg. v. Josef Nadler. 6 Bde. (Wien 194957).</div>
<div class="ha-footnote"><a class="ha-sup ha-footnote-ref" name="FnA-2" href="#FnZ-2">2</a> Vgl. etwa Walter Boehlich, Forschungsbericht. Die historisch-kritische Hamann-Ausgabe, in: Euphorion 50 (1956), 341356.</div>
</div>
</div>
</div>

View File

@@ -1 +1,10 @@
Hello from Kreuzzuege! @{
ViewData["Title"] = "Kreuzzüge des Philologen";
ViewData["SEODescription"] = "Johann Georg Hamann: Kreuzzüge des Philologen. Informationen zur Ausgabe.";
}
<div class="ha-static">
<h1 class="!leading-tight">Kreuzzüge des Philologen</h1>
<div class="ha-static-right-margin relative">
</div>
</div>

View File

@@ -1 +1,39 @@
Hello from SDW! @{
ViewData["Title"] = "Sokratische Denkwürdigkeiten. Wolken";
ViewData["SEODescription"] = "Johann Georg Hamann: Sokratische Denkwürdigkeiten. Wolken. Informationen zur Ausgabe.";
}
<div class="ha-static">
<h1 class="!leading-tight">Sokratische Denkwürdigkeiten.<br/>Wolken</h1>
<div class="ha-static-right-margin relative">
<div class="hidden desktop:flex desktop:my-0 desktop:flex-col desktop:absolute desktop:right-10">
<div><img src="/img/Denkwuerdigkeiten.jpg" class="w-60"/></div>
<div>Im Buch blättern (<a href="https://meiner.de/reading/web/?isbn=9783787339617">‣</a>)</div>
</div>
<p>Johann Georg Hamann: Sokratische Denkwürdigkeiten. Wolken. Historisch-kritische Ausgabe. Mit einer Einführung, einem Stellenkommentar und Dokumenten zur Entstehungsgeschichte hg. von Janina Reibold und Leonard Keidel. Unter Mitarbeit von Konrad Bucher. [= Philosophische Bibliothek 748] (Hamburg: Felix Meiner Verlag 2021) [ISBN:978-3-7873-3961-7] (<a href="https://meiner.de/sokratische-denkwurdigkeiten-wolken.html">‣</a>)
<div class="flex flex-row gap-x-3 my-6 desktop:hidden">
<div><img src="/img/Denkwuerdigkeiten.jpg" class="w-52"/></div>
<div>Im Buch blättern (<a href="https://meiner.de/reading/web/?isbn=9783787339617">‣</a>)</div>
</div>
<p>Als Johann Georg Hamann 1759 die Bühne der Publizistik betritt, irritiert er sofort. Ist er ein Philosoph oder ein Phantast? Ist er verrückt oder ist die Idiotie des Textes literarische Maskerade? Seine »Sokratischen Denkwürdigkeiten» porträtieren die Leitfigur der philosophischen Aufklärung: Sokrates.
<p>Hamanns Essay zeigt Sokrates abhängig im sozialen Gefüge; darin ist das Postulat des Nicht­Wissens strategisch und für Hamann auch sophistisch, ebenso wie die neuzeitliche Version des Nicht­Wissens bei Descartes. Der Text positioniert sich dabei subtil kritisch auch gegen die philosophische Ambition des Königsberger Freundes Immanuel Kant. Der zweite, hier erstmalig kommentierte Text, die »Wolken«, reagiert auf die Hamann von zeitgenössischen Rezensenten zum Vorwurf gemachte »Dunkelheit« seiner Texte. Hamann druckt zunächst einen Verriss der »Denkwürdigkeiten« vollständig ab, um ihn sodann mit kritischen Anmerkungen zu versehen. Die Freude an der Provokation und Hamanns Witz tritt in wenigen Schriften so deutlich zutage wie in seinen »Wolken«. Darin geht es um nichts weniger als um die Fundamente der Hermeneutik, die Grenze zwischen Genie und Wahnsinn, Sinn und Unsinn, Verstehen und Nicht­Verstehen. Die Ausgabe bietet eine historisch-­kritische Neuedition der beiden ersten Schriften Hamanns sowie der später von ihm ergänzten handschriftlichen Notizen.
<h3>Presse/Rezensionen</h3>
<ul class="list-disc">
<li>Sachbuch des Monats 02/2022 (Die Welt, Neue Zürcher Zeitung, RBB Kultur und ORF-Radio Österreich 1)</li>
<li>Eberhard Geisler in: Frankfurter Rundschau, 27.12.2021, S. 30 (<a href="https://www.fr.de/kultur/literatur/johann-georg-hamann-produktive-unruhe-91201612.html">‣</a>). </li>
<li>Jürgen Kaube in: Frankfurter Allgemeine Zeitung, 30.11.2021, S. 10 [Weihnachtsempfehlung]. </li>
<li>Helmut Mauró in: Süddeutsche Zeitung, 27./28.11.2021, S. 23 [Weihnachtsempfehlung].</li>
</ul>
<h3>Zitate aus den Rezensionen</h3>
»Die Lektüre der Denkwürdigkeiten und Wolken ist nicht gerade einfach, aber sie wird durch die informativen Kommentare von Keidel und Reibold in die richtigen Bahnen gelenkt und erleichtert. Dazu kommt, dass die Ausgabe auch äußerlich sehr schön gemacht ist und damit Hamanns Forderung entspricht, dass Geist sinnlich erfahrbar sein soll. Da sollte man sich selbst die Anschaffung wert sein.« Frankfurter Rundschau, Eberhard Geisler, 27.12.2021
</div>
</div>

View File

@@ -1 +1,11 @@
Hello from Übersicht @{
ViewData["Title"] = "Hamann: Übersicht über das Gesamtwerk.";
ViewData["SEODescription"] = "Johann Georg Hamann: Übersicht über das Gesamtwerk.";
}
<div class="ha-static">
<h1 class="!leading-tight">Werkübersicht</h1>
<div class="ha-static-right-margin relative">
</div>
</div>

View File

@@ -0,0 +1 @@
Hello from Datenschutzerklaerung

View File

@@ -0,0 +1,40 @@
@{
ViewData["Title"] = "Johann Georg Hamann: Kommentierte Edition der Briefe und Werke";
}
<div class="ha-static">
<div class="border border-solid border-gray-300 px-12 py-6 unhyphenate mb-6 desktop:mb-10">
<p>Die Ausgabe ist ein Projekt der Theodor Springmann Stiftung in Kooperation mit dem Germanistischen Seminar der Universität Heidelberg.
<p><a asp-controller="Home" asp-action="Kontakt" class="dark:text-slate-50 text-hamannSlate-900">Kontakt</a>
</div>
<div class="desktop:flex desktop:flex-row desktop:items-stretch desktop:gap-x-10">
<div class="border border-solid border-gray-300 px-9 py-6 mb-6 desktop:mb-0 desktop:basis-1/2 desktop:grow-1 desktop:shrink-1">
<a asp-controller="Suche" asp-action="Index" class="!no-underline !hover:no-underline">
<div class="flex flex-row gap-x-3 pb-1">
<img src="/img/HKB.png" class="w-10 h-10 desktop:w-16 desktop:h-16 mr-2 border dark:border-none border-gray-300 shadow-sm" alt="HKB-Logo" />
<h2 class="!mt-0 !mb-0">Kommentierte Briefausgabe</h2>
</div>
</a>
<p>Die Online-Edition der Briefe Johann Georg Hamanns bietet dieselben als durchsuchbaren Volltext. Die Einteilung der Bände der gedruckten Briefausgabe ZH (J.G. Hamann, Briefwechsel. Hg. von Walther Ziesemer und Arthur Henkel. 7 Bde. [Frankfurt a. M. 19551979]) wird übernommen. Die derzeit hier veröffentlichten Briefe entsprechen im Umfang dem ersten Band von ZH und zusammen mit dem Stellenkommentar und den Registern unserem Editionsstand vom 27. Januar 2022.
<p><a asp-controller="Suche" asp-action="Index" class="dark:text-slate-50 text-hamannSlate-900">Startseite: Suche und Briefauswahl</a>
<p><a asp-controller="Edition" asp-action="Richtlinien" class="dark:text-slate-50 text-hamannSlate-900">Editionsrichtlinien</a>
<p><a asp-controller="Edition" asp-action="Editionsgeschichte" class="dark:text-slate-50 text-hamannSlate-900">Editionsgeschichte</a>
</div>
<div class="border border-solid border-gray-300 px-9 py-6 mb-10 desktop:mb-0 desktop:basis-1/2 desktop:grow-1 desktop:shrink-1">
<a asp-controller="HKW" asp-action="Index" class="!no-underline !hover:no-underline">
<div class="flex flex-row gap-x-3 pb-1">
<img src="/img/HKW.png" class="w-10 h-10 desktop:w-16 desktop:h-16 mr-2 border dark:border-none border-gray-300 shadow-sm" alt="HKW-Logo" />
<h2 class="!mt-0 !mb-0">Historisch-kritische und kommentierte Edition ausgewählter Werke</h2>
</div>
</a>
<p>Bereits erschienene Bände:
<p>Johann Georg Hamann, Fliegender Brief. Historisch-kritische Ausgabe. Mit einer Einführung, Kommentar und Dokumenten zur Entstehungsgeschichte hg. von Janina Reibold, 2 Bde. [=&nbsp;Philosophische Bibliothek&nbsp;707] (Hamburg: Meiner Verlag 2018)&nbsp;<a asp-controller="HKW" asp-action="FliegenderBrief">[‣]</a>
<p>Johann Georg Hamann, Sokratische Denkwürdigkeiten. Wolken. Historisch-kritische Ausgabe. Mit einer Einführung, einem Stellenkommentar und Dokumenten zur Entstehungs-geschichte hg. von Janina Reibold und Leonard Keidel. Unter Mitarbeit von Konrad Bucher. [=&nbsp;Philosophische Bibliothek&nbsp;748] (Hamburg: Meiner Verlag 2021)&nbsp;<a asp-controller="HKW" asp-action="SokratischeDenkwuerdigkeiten">[‣]</a>
<p><a asp-controller="HKW" asp-action="Index" class="dark:text-slate-50 text-hamannSlate-900">Startseite: Editionsplan</a>
</div>
</div>
</div>

View File

@@ -4,7 +4,7 @@
} }
<div class="ha-static"> <div class="ha-static">
<div class="md:pr-80"> <div class="ha-static-right-margin">
<h1>Kontakt</h1> <h1>Kontakt</h1>
<table class="!w-full"> <table class="!w-full">
<tr> <tr>

View File

@@ -0,0 +1,3 @@
@{
Layout = "_HomeLayout";
}

View File

@@ -11,8 +11,8 @@
</div> </div>
</div> </div>
<div class="grow-0 shrink-0"> <div class="grow-0 shrink-0">
© 2022 Theodor Springmann Stiftung | Stand vom 27.5.2022 | <a href="/Edition/Kontakt">Kontakt</a> · © 2022 Theodor Springmann Stiftung | Stand vom 27.5.2022 | <a asp-controller="Home" asp-action="Kontakt">Kontakt</a> ·
<a href="/Edition/Datenschutzerklaerung">Datenschutzerklärung</a> <a asp-controller="Home" asp-action="Datenschutzerklaerung">Datenschutzerklärung</a>
<feature name="AdminService"> <feature name="AdminService">
<span> · <a asp-controller="Admin" asp-action="Index">Admin-Bereich</a></span> <span> · <a asp-controller="Admin" asp-action="Index">Admin-Bereich</a></span>
</feature> </feature>

View File

@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="@ViewData["SEODescription"]"> <meta name="description" content="@ViewData["SEODescription"]">
<title>HKB: @ViewData["Title"]</title> <title>@ViewData["Title"]</title>
<!-- crossorigin is a workaround to prevent double downloading bugs in chrome --> <!-- crossorigin is a workaround to prevent double downloading bugs in chrome -->
<!-- also, the graphite versions of the font are available for use: <!-- also, the graphite versions of the font are available for use:

View File

@@ -3,8 +3,8 @@
} }
<header class="sticky w-100 font-serif mb-6"> <header class="sticky w-100 font-serif mb-6">
<nav class="flex flex-row w-100 bg-slate-50 border-t-[5px] border-gray-300 dark:shadow-xl dark:border-gray-900 py-3 px-3 desktop:px-8 flex-wrap"> <nav class="flex flex-row w-100 bg-slate-50 border-t-[5px] border-gray-300 dark:shadow-xl dark:border-gray-900 py-3 px-3 desktop:px-8 flex-wrap">
<a href="/" class="text-xl xl:text-3xl grow-0 shrink-0 text-black hover:text-black "> <a asp-controller="Suche" asp-action="RedirectIndex" class="text-xl xl:text-3xl grow-0 shrink-0 text-black hover:text-black">
<img src="/favicon.ico" class="inline-block w-8 h-8 xl:w-12 xl:h-12 mr-2 p-1 border border-gray-900 border-t-gray-200 border-l-gray-200 " alt="HKB-Logo" loading="lazy" /> <img src="/favicon.ico" class="inline-block w-8 h-8 xl:w-12 xl:h-12 mr-2 border border-gray-300 shadow-sm" alt="HKB-Logo" loading="lazy" />
<span class="sm:hidden">Hamann: Komm. Briefausgabe</span> <span class="sm:hidden">Hamann: Komm. Briefausgabe</span>
<span class="hidden sm:inline md:hidden">Johan Georg Hamann: Kommentierte Briefausgabe</span> <span class="hidden sm:inline md:hidden">Johan Georg Hamann: Kommentierte Briefausgabe</span>
<span class="hidden md:inline align-baseline">Johann Georg Hamann: Kommentierte Briefausgabe (&#x200A;H&#x200A;K&#x200A;B&#x200A;)</span> <span class="hidden md:inline align-baseline">Johann Georg Hamann: Kommentierte Briefausgabe (&#x200A;H&#x200A;K&#x200A;B&#x200A;)</span>
@@ -30,32 +30,32 @@
</button> </button>
</div> </div>
<div class="ha-topnav " id="ha-topnav"> <div class="ha-topnav " id="ha-topnav">
<a href="/Suche"> <a asp-controller="Suche" asp-action="Index">
Suche & Briefauswahl Suche & Briefauswahl
</a> </a>
<a href="/Briefe"> <a asp-controller="Briefe" asp-action="Index">
Briefansicht Briefansicht
</a> </a>
<div class="ha-topnav-dropdown"> <div class="ha-topnav-dropdown">
<a href="/Register" class="cursor-default ha-menu-arrowsymbol pointer-events-none"> <a href="/HKB/Register" class="cursor-default ha-menu-arrowsymbol pointer-events-none">
Register Register
</a> </a>
<div class="ha-topnav-dropdown-content" > <div class="ha-topnav-dropdown-content" >
<a href="/Register/Register" class="">Register</a> <a asp-controller="Register" asp-action="Allgemein">Register</a>
<a href="/Register/Bibelstellen" class="">Bibelstellenregister</a> <a asp-controller="Register" asp-action="Bibelstellen">Bibelstellenregister</a>
<a href="/Register/Forschung" class="">Forschungsbibliographie</a> <a asp-controller="Register" asp-action="Forschung">Forschungsbibliographie</a>
</div> </div>
</div> </div>
<div class="ha-topnav-dropdown"> <div class="ha-topnav-dropdown">
<a href="/Edition" class="cursor-default ha-menu-arrowsymbol pointer-events-none !mr-0" > <a href="/HKB/Edition" class="cursor-default ha-menu-arrowsymbol pointer-events-none !mr-0" >
Edition Edition
</a> </a>
<div class="ha-topnav-dropdown-content !mr-0"> <div class="ha-topnav-dropdown-content !mr-0">
<a href="/Edition/Kontakt" class="">Kontakt</a> <a asp-controller="Home" asp-action="Kontakt">Kontakt</a>
<a href="/Edition/Mitwirkende" class="">Mitwirkende</a> <a asp-controller="Edition" asp-action="Mitwirkende">Mitwirkende</a>
<a href="/Edition/Richtlinien" class="">Editionsrichtlinien</a> <a asp-controller="Edition" asp-action="Richtlinien">Editionsrichtlinien</a>
<a href="/Edition/Editionsgeschichte" class="">Editionsgeschichte</a> <a asp-controller="Edition" asp-action="Editionsgeschichte">Editionsgeschichte</a>
<a href="/Edition/Werkausgabe" class="">Werkausgabe</a> <a asp-controller="HKW" asp-action="Index">Werkausgabe</a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="@ViewData["SEODescription"]"> <meta name="description" content="@ViewData["SEODescription"]">
<title>HKB: @ViewData["Title"]</title> <title>@ViewData["Title"]</title>
<!-- crossorigin is a workaround to prevent double downloading bugs in chrome --> <!-- crossorigin is a workaround to prevent double downloading bugs in chrome -->
<!-- also, the graphite versions of the font are available for use: <!-- also, the graphite versions of the font are available for use:

View File

@@ -1,10 +1,10 @@
<header class="sticky w-100 font-serif mb-6"> <header class="sticky w-100 font-serif mb-6">
<nav class="flex flex-row w-100 bg-slate-50 border-t-[5px] border-gray-300 dark:shadow-xl dark:border-gray-900 py-3 px-3 desktop:px-8 flex-wrap"> <nav class="flex flex-row w-100 bg-slate-50 border-t-[5px] border-gray-300 dark:shadow-xl dark:border-gray-900 py-3 px-3 desktop:px-8 flex-wrap">
<a href="/HKW/Start" class="text-xl xl:text-3xl grow-0 shrink-0 text-black hover:text-black "> <a asp-controller="HKW" asp-action="Index" class="text-xl xl:text-3xl grow-0 shrink-0 text-black hover:text-black ">
<img src="/img/HKW.png" class="inline-block w-8 h-8 xl:w-12 xl:h-12 mr-2 p-1 border border-gray-900 border-t-gray-200 border-l-gray-200 " alt="HKW-Logo" loading="lazy" /> <img src="/img/HKW.png" class="inline-block w-8 h-8 xl:w-12 xl:h-12 mr-2 border border-gray-300 shadow-sm" alt="HKW-Logo" loading="lazy" />
<span class="sm:hidden">Hamann: Komm. Werkedition</span> <span class="sm:hidden">Hamann: Komm. Werkedition</span>
<span class="hidden sm:inline md:hidden">Johan Georg Hamann: Kommentierte Werkedition</span> <span class="hidden sm:inline md:hidden">Johan Georg Hamann: Kommentierte Werkedition</span>
<span class="hidden md:inline align-baseline">Johann Georg Hamann: Historisch-kritische und kommentierte Edition ausgewählter Werke (&#x200A;H&#x200A;K&#x200A;W&#x200A;)</span> <span class="hidden md:inline align-baseline">Johann Georg Hamann: Historisch-kritische und kommentierte Edition ausgewählter Werke (&#x200A;H&#x200A;K&#x200A;W&#x200A;)</span>
</a> </a>
<div class="flex grow shrink"> <div class="flex grow shrink">
@@ -32,18 +32,18 @@
Bände Bände
</a> </a>
<div class="ha-topnav-dropdown-content" > <div class="ha-topnav-dropdown-content" >
<a href="/HKW/Baende/FliegenderBrief" class="">Fliegender Brief</a> <a asp-controller="HKW" asp-action="FliegenderBrief">Fliegender Brief</a>
<a href="/HKW/Baende/SokratischeDenkwuerdigkeiten" class="">Sokratische Denkwürdigkeiten / Wolken</a> <a asp-controller="HKW" asp-action="SokratischeDenkwuerdigkeiten">Sokr. Denkwürdigkeiten. Wolken</a>
<a href="/HKW/Baende/Kreuzzuege" class="">Kreuzzüge des Philologen</a> <a asp-controller="HKW" asp-action="Kreuzzuege">Kreuzzüge des Philologen</a>
</div> </div>
</div> </div>
<a href="/HKW/Uebersicht"> <a asp-controller="HKW" asp-action="Uebersicht">
Werkübersicht Werkübersicht
</a> </a>
<a href="/Register/Forschung/Editionen"> <a asp-controller="Register" asp-action="Forschung" asp-route-id="EDITIONEN">
Bibliographie Hamann-Editionen Bibliographie Hamann-Editionen
</a> </a>
</div> </div>

View File

@@ -1,13 +1,12 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de" id="top"> <html lang="de" id="top">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
@* TODO: Description für die Startseite *@ @* TODO: Description für die Startseite *@
<meta name="description" content=""> <meta name="description" content="">
<title>HKB: @ViewData["Title"]</title> <title>@ViewData["Title"]</title>
<!-- crossorigin is a workaround to prevent double downloading bugs in chrome --> <!-- crossorigin is a workaround to prevent double downloading bugs in chrome -->
<!-- also, the graphite versions of the font are available for use: <!-- also, the graphite versions of the font are available for use:
@@ -32,19 +31,35 @@
<body class="w-full "> <body class="w-full ">
<div class="relative min-h-screen"> <div class="relative min-h-screen">
<div class="pb-24"> <div class="pb-24">
Menu <header class="w-100 font-serif mb-10 pb-4 pt-4 flex flex-col justify-center bg-slate-50 border-t-[5px] border-gray-300 dark:border-gray-900">
@* Placeholder Menu *@ <nav class="w-auto text-xl md:text-3xl text-black hover:text-black mx-auto">
<a asp-controller="Home" asp-action="Index">
<span class="sm:hidden">Johan Georg Hamann<br/>Kommentierte Edition der Briefe & Werke</span>
<span class="hidden sm:inline align-baseline">Johann Georg Hamann: Kommentierte Edition der Briefe und Werke</span>
</a>
<div class="w-auto mt-2 md:mt-4 overflow-hidden whitespace-nowrap text-ellipsis text-base md:text-lg">
<a class="sm:hidden" href="/Edition/Mitwirkende">Hrsg. v. Leonard Keidel und Janina Reibold</a>
<a class="hidden sm:inline" href="/Edition/Mitwirkende">Herausgegeben von Leonard Keidel und Janina Reibold</a>
</div>
</nav>
</header>
<main role="main" class="pb-3 w-full desktop:max-w-screen-desktop mx-auto h-full"> <main role="main" class="pb-3 w-full desktop:max-w-screen-desktop mx-auto h-full">
@* Placeholder Main *@ @* Placeholder Main *@
Hallo! @RenderBody()
</main> </main>
</div> </div>
<div class="absolute bottom-0 w-full"> <div class="absolute bottom-0 w-full">
@await Html.PartialAsync("/Views/Shared/_Footer.cshtml") @await Html.PartialAsync("/Views/Shared/_Footer.cshtml")
</div> </div>
</div> </div>
<a class="ha-scrollbutton" id="ha-scrollbutton">
<svg class="ha-scrollbuttonarrow" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path strokeLinecap="round" strokeLinejoin="round" stroke-width="2" d="M5 11l7-7 7 7M5 19l7-7 7 7" />
</svg>
</a>
</div> </div>
@RenderSection("Scripts", required: false)
<environment exclude="Development"> <environment exclude="Development">
@await Html.PartialAsync("/Views/Shared/_Javascript.cshtml") @await Html.PartialAsync("/Views/Shared/_Javascript.cshtml")
</environment> </environment>

View File

@@ -1,101 +1,6 @@
@* Javascript gets inlined because it ain't much (but it's honest work) *@ @* Javascript gets inlined because it ain't much (but it's honest work) *@
@* Only put PRODUCTION JavaScript here *@ @* Only put PRODUCTION JavaScript here *@
<script> <script>
const openmenu = function () {
var x = document.getElementById("ha-topnav");
if (x !== null) x.className += " ha-topnav-collapsed";
let oldbutton = document.getElementById("openmenubutton");
if (oldbutton !== null) oldbutton.setAttribute('class', 'hidden');
let newbutton = document.getElementById("closemenubutton");
if (newbutton !== null) newbutton.setAttribute('class', '');
}
const closemenu = function () {
var x = document.getElementById("ha-topnav");
if (x !== null) x.className = "ha-topnav";
let oldbutton = document.getElementById("closemenubutton");
if (oldbutton !== null) oldbutton.setAttribute('class', 'hidden');
let newbutton = document.getElementById("openmenubutton");
if (newbutton !== null) newbutton.setAttribute('class', '');
}
const markactive_startswith = function (element) {
// Marks links as active which target URL starts with the current URL
var all_links = element.getElementsByTagName("a"),
i = 0, len = all_links.length,
full_path = location.href.split('#')[0].toLowerCase(); //Ignore hashes
for (; i < len; i++) {
if (full_path.startsWith(all_links[i].href.toLowerCase())) {
all_links[i].className += " active";
}
}
}
const markactive_exact = function (element) {
var all_links = element.getElementsByTagName("a"),
i = 0, len = all_links.length,
full_path = location.href.split('#')[0].toLowerCase(); //Ignore hashes
for (; i < len; i++) {
if (full_path == all_links[i].href.toLowerCase()) {
all_links[i].className += " active";
}
}
}
const getLineHeight = function (element) {
var temp = document.createElement(element.nodeName), ret;
temp.setAttribute("class", element.className);
temp.innerHTML = "A";
element.parentNode.appendChild(temp);
ret = temp.clientHeight;
temp.parentNode.removeChild(temp);
return ret;
}
/* TODO: need a resize watcher to undo and reapply the effect on breakpoint */
const overlappingboxcollapse = function (selector) {
let boxes = document.querySelectorAll(selector);
let clientrects = [];
let lineheight = 1;
if (boxes.length >= 1) {
lineheight = getLineHeight(boxes[0]);
}
for (element of boxes) {
clientrects.push([element, element.getBoundingClientRect()]);
}
for (var i = 0; i < clientrects.length; i++) {
if (i < clientrects.length-1) {
if (clientrects[i][1].bottom >= clientrects[i+1][1].top) {
let overlap = clientrects[i][1].bottom - clientrects[i+1][1].top;
let newlength = clientrects[i][1].height - overlap;
let remainder = newlength % lineheight;
newlength = newlength - remainder;
clientrects[i][0].style.height = newlength + 'px';
clientrects[i][0].style.overflowX = "hidden";
clientrects[i][0].style.overflowY = "scroll";
}
}
}
}
window.addEventListener('load', function() {
document.getElementById("openmenubutton").addEventListener('click', openmenu);
document.getElementById("closemenubutton").addEventListener('click', closemenu);
markactive_startswith(document.getElementById("ha-topnav"));
markactive_exact(document.getElementById("ha-register-nav"));
overlappingboxcollapse(".ha-neuzeit .ha-letlinks");
overlappingboxcollapse(".ha-forschung .ha-letlinks");
})
</script> </script>

View File

@@ -14,7 +14,7 @@
}, },
"AllowedHosts": "*", "AllowedHosts": "*",
"StoredFilePathLinux": "/home/simon/Downloads/test/", "StoredFilePathLinux": "/home/simon/Downloads/test/",
"StoredFilePathWindows": "D:/test/", "StoredFilePathWindows": "C:/Users/simon/Downloads/test/",
"FileSizeLimit": 52428800, "FileSizeLimit": 52428800,
"AvailableStartYear": 1700, "AvailableStartYear": 1700,
"AvailableEndYear": 1800, "AvailableEndYear": 1800,

View File

@@ -5,7 +5,7 @@
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"css_build": "npx postcss wwwroot/css/site.css -o wwwroot/css/output.css", "css_build": "npx postcss wwwroot/css/site.css -o wwwroot/css/output.css",
"watch": "watch 'npm run css_build'" "watch": "npx postcss wwwroot/css/site.css -o wwwroot/css/output.css -w --verbose"
}, },
"keywords": [], "keywords": [],
"author": "", "author": "",

View File

@@ -19,7 +19,7 @@
.ha-topnav.ha-topnav-collapsed .ha-topnav.ha-topnav-collapsed
.ha-topnav-dropdown .ha-topnav-dropdown
.ha-topnav-dropdown-content { .ha-topnav-dropdown-content {
@apply shadow-none desktop:shadow-md desktop:border-b @apply shadow-none desktop:shadow-md desktop:border-b
} }
.ha-menusymbol svg { .ha-menusymbol svg {
@@ -48,11 +48,11 @@
} }
.ha-topnav-dropdown .ha-topnav-dropdown-content { .ha-topnav-dropdown .ha-topnav-dropdown-content {
@apply hidden mr-6 pt-1 right-0 desktop:absolute min-w-[130px] z-50; @apply hidden mr-6 pt-1 right-0 desktop:absolute min-w-[130px] z-50 whitespace-nowrap
} }
.ha-topnav-dropdown .ha-topnav-dropdown-content a { .ha-topnav-dropdown .ha-topnav-dropdown-content a {
@apply pl-2 pr-3 py-2 block mr-0; @apply pl-2 pr-3 py-2 block mr-0 whitespace-nowrap
} }
.ha-topnav-dropdown .ha-topnav-dropdown-content .active { .ha-topnav-dropdown .ha-topnav-dropdown-content .active {

File diff suppressed because one or more lines are too long

View File

@@ -21,6 +21,10 @@
@apply w-full py-12 px-12 md:px-16 hyphenate font-serif @apply w-full py-12 px-12 md:px-16 hyphenate font-serif
} }
.ha-static .ha-static-right-margin {
@apply md:pr-60 desktop:pr-80
}
.ha-static h1 { .ha-static h1 {
@apply font-bold text-2xl desktop:font-normal desktop:text-5xl mb-9 unhyphenate @apply font-bold text-2xl desktop:font-normal desktop:text-5xl mb-9 unhyphenate
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

View File

@@ -266,27 +266,30 @@ const get_theme_settings = function (standard) {
// Functions for scrolling // Functions for scrolling
const scrollFunction = function () { const scrollFunction = function () {
button = document.getElementById("ha-scrollbutton"); button = document.getElementById("ha-scrollbutton");
if (document.body.scrollTop > 300 || document.documentElement.scrollTop > 300) { if (button !== null) {
// button.style.display = "block"; if (document.body.scrollTop > 300 || document.documentElement.scrollTop > 300) {
button.style.pointerEvents = "auto"; // button.style.display = "block";
button.style.opacity = "1"; button.style.pointerEvents = "auto";
} else { button.style.opacity = "1";
// button.style.display = "none"; } else {
button.style.pointerEvents = "none"; // button.style.display = "none";
button.style.opacity = "0"; button.style.pointerEvents = "none";
button.style.opacity = "0";
}
} }
} }
//////////////////////////////// ONLOAD //////////////////////////////////// //////////////////////////////// ONLOAD ////////////////////////////////////
window.addEventListener("load", function () { window.addEventListener("load", function () {
// Scroll button // Scroll button
scrollFunction(); if(document.getElementById("ha-scrollbutton") !== null) {
let scrollbutton = this.document.getElementById("ha-scrollbutton"); scrollFunction();
scrollbutton.addEventListener("click", () => { document.getElementById("ha-scrollbutton").addEventListener("click", () => {
document.body.scrollTop = 0; // For Safari document.body.scrollTop = 0; // For Safari
document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera
}) })
this.window.addEventListener("scroll", scrollFunction); window.addEventListener("scroll", scrollFunction);
}
// Menu: Show / Hide Buttons for mobile View // Menu: Show / Hide Buttons for mobile View
if ( if (
@@ -302,11 +305,11 @@ window.addEventListener("load", function () {
} }
// Menu / Register / Search View: Mark active link // Menu / Register / Search View: Mark active link
if (document.getElementById("ha-topnav") != null) if (document.getElementById("ha-topnav") !== null)
markactive_startswith(document.getElementById("ha-topnav")); markactive_startswith(document.getElementById("ha-topnav"));
if (document.getElementById("ha-register-nav") != null) if (document.getElementById("ha-register-nav") !== null)
markactive_exact(document.getElementById("ha-register-nav")); markactive_exact(document.getElementById("ha-register-nav"));
if (this.document.getElementById("ha-adminuploadfields") != null) if (this.document.getElementById("ha-adminuploadfields") !== null)
markactive_exact(document.getElementById("ha-adminuploadfields")); markactive_exact(document.getElementById("ha-adminuploadfields"));
// Letter / Register View: Collapse all unfit boxes + resize observer // Letter / Register View: Collapse all unfit boxes + resize observer