From 2bd41b943a8a143d91f8da580240f69afe074e42 Mon Sep 17 00:00:00 2001 From: Simon Martens Date: Fri, 28 Oct 2022 03:01:08 +0200 Subject: [PATCH] Added HKW sites --- HaWeb/Controllers/BriefeContoller.cs | 6 +- HaWeb/Controllers/EditionController.cs | 10 +- HaWeb/Controllers/HKWController.cs | 2 +- HaWeb/Controllers/HomeController.cs | 13 ++- HaWeb/Controllers/LegacyConroller.cs | 51 ++++++++-- HaWeb/Controllers/RegisterController.cs | 16 +-- HaWeb/Controllers/SucheController.cs | 13 ++- HaWeb/FileHelpers/XMLProvider.cs | 18 ++-- HaWeb/HTMLHelpers/CommentHelper.cs | 2 +- HaWeb/HTMLHelpers/LinkHelper.cs | 8 +- HaWeb/HaWeb.csproj | 11 -- HaWeb/README.md | 9 +- HaWeb/Views/HKB/Dynamic/Suche.cshtml | 6 +- .../HKB/Static/Editionsgeschichte.cshtml | 4 +- HaWeb/Views/HKB/Static/Mitwirkende.cshtml | 4 +- HaWeb/Views/HKB/Static/Richtlinien.cshtml | 4 +- HaWeb/Views/HKB/Static/Werkausgabe.cshtml | 38 ------- HaWeb/Views/HKW/Static/FliegenderBrief.cshtml | 51 +++++++++- HaWeb/Views/HKW/Static/Index.cshtml | 38 ++++++- HaWeb/Views/HKW/Static/Kreuzzuege.cshtml | 11 +- .../SokratischeDenkwuerdigkeiten.cshtml | 40 +++++++- HaWeb/Views/HKW/Static/Uebersicht.cshtml | 12 ++- HaWeb/Views/Home/Datenschutzerklaerung.cshtml | 1 + HaWeb/Views/Home/Index.cshtml | 40 ++++++++ .../Views/{HKB/Static => Home}/Kontakt.cshtml | 2 +- HaWeb/Views/Home/_ViewStart.cshtml | 3 + HaWeb/Views/Shared/_Footer.cshtml | 4 +- HaWeb/Views/Shared/_HKBLayout.cshtml | 2 +- HaWeb/Views/Shared/_HKBMenu.cshtml | 28 +++--- HaWeb/Views/Shared/_HKWLayout.cshtml | 2 +- HaWeb/Views/Shared/_HKWMenu.cshtml | 20 ++-- .../_HomeLayout.cshtml} | 29 ++++-- HaWeb/Views/Shared/_Javascript.cshtml | 95 ------------------ HaWeb/appsettings.json | 2 +- HaWeb/package.json | 2 +- HaWeb/wwwroot/css/header.css | 6 +- HaWeb/wwwroot/css/output.css | 2 +- HaWeb/wwwroot/css/static.css | 4 + HaWeb/wwwroot/img/Denkwuerdigkeiten.jpg | Bin 0 -> 624955 bytes HaWeb/wwwroot/img/FliegenderBrief.jpg | Bin 0 -> 414824 bytes HaWeb/wwwroot/js/site.js | 39 +++---- 41 files changed, 377 insertions(+), 271 deletions(-) delete mode 100644 HaWeb/Views/HKB/Static/Werkausgabe.cshtml create mode 100644 HaWeb/Views/Home/Datenschutzerklaerung.cshtml create mode 100644 HaWeb/Views/Home/Index.cshtml rename HaWeb/Views/{HKB/Static => Home}/Kontakt.cshtml (98%) create mode 100644 HaWeb/Views/Home/_ViewStart.cshtml rename HaWeb/Views/{Index.cshtml => Shared/_HomeLayout.cshtml} (51%) create mode 100644 HaWeb/wwwroot/img/Denkwuerdigkeiten.jpg create mode 100644 HaWeb/wwwroot/img/FliegenderBrief.jpg diff --git a/HaWeb/Controllers/BriefeContoller.cs b/HaWeb/Controllers/BriefeContoller.cs index 92e37ec..368d0f7 100644 --- a/HaWeb/Controllers/BriefeContoller.cs +++ b/HaWeb/Controllers/BriefeContoller.cs @@ -21,12 +21,12 @@ public class Briefecontroller : Controller { _readerService = readerService; } - [Route("Briefe")] - [Route("Briefe/{id?}")] + [Route("/HKB/Briefe")] + [Route("/HKB/Briefe/{id?}")] public IActionResult Index(string? id) { // Setup settings and variables var lib = _lib.GetLibrary(); - var url = "/Briefe/"; + var url = "/HKB/Briefe/"; var defaultID = "1"; // Normalisation and Validation, (some) data aquisition diff --git a/HaWeb/Controllers/EditionController.cs b/HaWeb/Controllers/EditionController.cs index 500fa15..ffc7574 100644 --- a/HaWeb/Controllers/EditionController.cs +++ b/HaWeb/Controllers/EditionController.cs @@ -4,12 +4,8 @@ using HaWeb.Models; namespace HaWeb.Controllers; -[Route("Edition/[action]")] +[Route("HKB/Edition/[action]")] public class EditionController : Controller { - public IActionResult Kontakt() { - return View("~/Views/HKB/Static/Kontakt.cshtml"); - } - public IActionResult Mitwirkende() { return View("~/Views/HKB/Static/Mitwirkende.cshtml"); } @@ -18,10 +14,6 @@ public class EditionController : Controller { return View("~/Views/HKB/Static/Richtlinien.cshtml"); } - public IActionResult Werkausgabe() { - return View("~/Views/HKB/Static/Werkausgabe.cshtml"); - } - public IActionResult Editionsgeschichte() { return View("~/Views/HKB/Static/Editionsgeschichte.cshtml"); } diff --git a/HaWeb/Controllers/HKWController.cs b/HaWeb/Controllers/HKWController.cs index eaad616..3302ef6 100644 --- a/HaWeb/Controllers/HKWController.cs +++ b/HaWeb/Controllers/HKWController.cs @@ -5,7 +5,7 @@ using HaWeb.Models; [Route("HKW/")] public class HKWController : Controller { - [Route("Start")] + [Route("")] public IActionResult Index() { return View("~/Views/HKW/Static/Index.cshtml"); } diff --git a/HaWeb/Controllers/HomeController.cs b/HaWeb/Controllers/HomeController.cs index 283eb35..be72960 100644 --- a/HaWeb/Controllers/HomeController.cs +++ b/HaWeb/Controllers/HomeController.cs @@ -7,8 +7,19 @@ namespace HaWeb.Controllers; public class HomeController : Controller { [Route("")] + [Route("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)] diff --git a/HaWeb/Controllers/LegacyConroller.cs b/HaWeb/Controllers/LegacyConroller.cs index faf3401..cf2bbc4 100644 --- a/HaWeb/Controllers/LegacyConroller.cs +++ b/HaWeb/Controllers/LegacyConroller.cs @@ -2,31 +2,66 @@ using System.Diagnostics; using Microsoft.AspNetCore.Mvc; using HaWeb.Models; - namespace HaWeb.Controllers; - public class LegacyContoller : Controller { + // Umbennenung von Supplementa zu Register, Verschiebung der Edition nach /HKB [Route("Supplementa/")] [Route("Supplementa/Register")] [Route("Supplementa/Register/{id?}")] public IActionResult SupplementaRegister(string? id) { if (id != null) - return RedirectPermanent("/Register/Register/" + id); - return RedirectPermanent("/Register/Register"); + return RedirectPermanent("/HKB/Register/Register/" + id); + return RedirectPermanent("/HKB/Register/Register"); } [Route("Supplementa/Bibelstellen")] public IActionResult SupplementaBibelstellen(string? id) { if (id != null) - return RedirectPermanent("/Register/Bibelstellen/" + id); - return RedirectPermanent("/Register/Bibelstellen"); + return RedirectPermanent("/HKB/Register/Bibelstellen/" + id); + return RedirectPermanent("/HKB/Register/Bibelstellen"); } [Route("Supplementa/Forschung")] public IActionResult SupplementaForschung(string? id) { if (id != null) - return RedirectPermanent("/Register/Forschung/" + id); - return RedirectPermanent("/Register/Forschung"); + return RedirectPermanent("/HKB/Register/Forschung/" + id); + 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"); } } \ No newline at end of file diff --git a/HaWeb/Controllers/RegisterController.cs b/HaWeb/Controllers/RegisterController.cs index 0d8887e..acecb4d 100644 --- a/HaWeb/Controllers/RegisterController.cs +++ b/HaWeb/Controllers/RegisterController.cs @@ -23,7 +23,7 @@ using Microsoft.FeatureManagement.Mvc; using System.Runtime.InteropServices; using Microsoft.AspNetCore.Http.Features; -[Route("Register/[action]/{id?}")] +[Route("/HKB/Register/[action]/{id?}")] public class RegisterController : Controller { [BindProperty(SupportsGet = true)] public string? search { get; set; } @@ -38,10 +38,10 @@ public class RegisterController : Controller { } [HttpGet] - public IActionResult Register(string? id, string? search) { + public IActionResult Allgemein(string? id, string? search) { // Setup settings and variables var lib = _lib.GetLibrary(); - var url = "/Register/Register/"; + var url = "/HKB/Register/Allgemein/"; var category = "neuzeit"; var defaultLetter = "A"; var title = "Allgemeines Register"; @@ -75,7 +75,7 @@ public class RegisterController : Controller { public IActionResult Bibelstellen(string? id) { // Setup settings and variables var lib = _lib.GetLibrary(); - var url = "/Register/Bibelstellen/"; + var url = "/HKB/Register/Bibelstellen/"; var category = "bibel"; var defaultLetter = "AT"; var title = "Bibelstellenregister"; @@ -108,7 +108,7 @@ public class RegisterController : Controller { public IActionResult Forschung(string? id, string? search) { // Setup settings and variables var lib = _lib.GetLibrary(); - var url = "/Register/Forschung/"; + var url = "/HKB/Register/Forschung/"; var category = "forschung"; var defaultLetter = "A"; var title = "Forschungsbibliographie"; @@ -149,9 +149,9 @@ public class RegisterController : Controller { [HttpPost] [DisableFormValueModelBinding] [ValidateAntiForgeryToken] - [Route("/Register/Forschung/{id}")] - [Route("/Register/Register/{id}")] - [Route("/Register/Bibelstellen/{id}")] + [Route("/HKB/Register/Forschung/{id}")] + [Route("/HKB/Register/Register/{id}")] + [Route("/HKB/Register/Bibelstellen/{id}")] public IActionResult Search(string? id) { return Ok(); } diff --git a/HaWeb/Controllers/SucheController.cs b/HaWeb/Controllers/SucheController.cs index 9fe6a18..d84ee02 100644 --- a/HaWeb/Controllers/SucheController.cs +++ b/HaWeb/Controllers/SucheController.cs @@ -23,7 +23,7 @@ public class SucheController : Controller { _lettersForPage = config.GetValue("LettersOnPage"); } - [Route("Suche/{letterno}")] + [Route("/HKB/Suche/{letterno}")] public IActionResult GoTo(string letterno) { if (String.IsNullOrWhiteSpace(letterno)) return _error404(); letterno = letterno.Trim(); @@ -34,7 +34,7 @@ public class SucheController : Controller { return _error404(); } - [Route("Suche/{zhvolume}/{zhpage}")] + [Route("/HKB/Suche/{zhvolume}/{zhpage}")] public IActionResult GoToZH(string zhvolume, string zhpage) { if (String.IsNullOrWhiteSpace(zhvolume) || String.IsNullOrWhiteSpace(zhpage)) return _error404(); zhvolume = zhvolume.Trim(); @@ -62,7 +62,12 @@ public class SucheController : Controller { return _error404(); } - [Route("Suche")] + [Route("/HKB/")] + public IActionResult RedirectIndex(string? search, int page = 0) { + return RedirectPermanent("/HKB/Suche"); + } + + [Route("/HKB/Suche")] // Order of actions: // Filter, sort by year, paginate, sort by Meta.Sort & .Order, parse public IActionResult Index(string? search, int page = 0) { @@ -90,7 +95,7 @@ public class SucheController : Controller { return _paginateSend(lib, page, metasbyyear); } - [Route("Suche/Person/{person}")] + [Route("/HKB/Suche/Person/{person}")] public IActionResult Person(string person, int page = 0) { if (String.IsNullOrWhiteSpace(person)) return _error404(); person = person.Trim(); diff --git a/HaWeb/FileHelpers/XMLProvider.cs b/HaWeb/FileHelpers/XMLProvider.cs index 87b2485..26f7104 100644 --- a/HaWeb/FileHelpers/XMLProvider.cs +++ b/HaWeb/FileHelpers/XMLProvider.cs @@ -17,16 +17,16 @@ public class XMLProvider : IXMLProvider { _Roots = xmlservice.GetRootsDictionary(); _Files = _ScanFiles(); _HamannFiles = _ScanHamannFiles(); - + if (_Files != null) - foreach(var category in _Files) + foreach (var category in _Files) if (category.Value != null) xmlservice.AutoUse(category.Value); } public List? GetHamannFiles() => this._HamannFiles; - public IFileInfo? GetInProduction() { + public IFileInfo? GetInProduction() { if (_InProduction == null || !_InProduction.Any()) return null; return this._InProduction.Peek(); } @@ -43,7 +43,7 @@ public class XMLProvider : IXMLProvider { public void SetInProduction(IFileInfo info) { if (_InProduction == null) _InProduction = new Stack(); _InProduction.Push(info); - } + } public FileList? GetFiles(string prefix) => _Files != null && _Files.ContainsKey(prefix) ? _Files[prefix] : null; @@ -59,12 +59,11 @@ public class XMLProvider : IXMLProvider { Directory.CreateDirectory(directory); using (var targetStream = System.IO.File.Create(path)) await doc.Save(targetStream, ModelState); - } - catch (Exception ex) { - ModelState.AddModelError("Error", "Speichern der Datei fehlgeschlagen: " + ex.Message); + } catch (Exception ex) { + ModelState.AddModelError("Error", "Speichern der Datei fehlgeschlagen: " + ex.Message); return; } - + var info = _fileProvider.GetFileInfo(Path.Combine(doc.Prefix, doc.FileName)); if (info == null) { ModelState.AddModelError("Error", "Auf die neu erstellte Dtaei konnte nicht zugegriffen werden."); @@ -89,8 +88,7 @@ public class XMLProvider : IXMLProvider { Directory.CreateDirectory(directory); using (var targetStream = System.IO.File.Create(path)) 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); return null; } diff --git a/HaWeb/HTMLHelpers/CommentHelper.cs b/HaWeb/HTMLHelpers/CommentHelper.cs index e78a3ac..7b4cdbe 100644 --- a/HaWeb/HTMLHelpers/CommentHelper.cs +++ b/HaWeb/HTMLHelpers/CommentHelper.cs @@ -38,7 +38,7 @@ public static class CommentHelpers { sb.Append(HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)); 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 pglnstring = ""; linkstring += let.Autopsic; diff --git a/HaWeb/HTMLHelpers/LinkHelper.cs b/HaWeb/HTMLHelpers/LinkHelper.cs index d28a0ff..3802d67 100644 --- a/HaWeb/HTMLHelpers/LinkHelper.cs +++ b/HaWeb/HTMLHelpers/LinkHelper.cs @@ -46,7 +46,7 @@ public class LinkHelper { new HaWeb.HTMLHelpers.TagHelpers.Attribute() { Name = "rel", Value = "noopener noreferrer" })); if (tag.Name == "intlink" && tag.Values.ContainsKey("letter") && _lib.Metas.ContainsKey(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") { var linkstring = ""; var ZHstring = ""; @@ -80,11 +80,11 @@ public class LinkHelper { var linkloc = String.IsNullOrWhiteSpace(comment.Parent) ? comment.Index : comment.Parent; if (_followlinksinthis) 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") - _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") - _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)); } } diff --git a/HaWeb/HaWeb.csproj b/HaWeb/HaWeb.csproj index c7fb273..c173c91 100644 --- a/HaWeb/HaWeb.csproj +++ b/HaWeb/HaWeb.csproj @@ -7,17 +7,6 @@ enable - - - - - - diff --git a/HaWeb/README.md b/HaWeb/README.md index 440d875..032b155 100644 --- a/HaWeb/README.md +++ b/HaWeb/README.md @@ -25,13 +25,15 @@ Note that nodejs is used only as a build tool for css (and possibly in the futur 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. -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 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 Vor dem internen release: +TODO HKW TODO pills are not mobile friendly (hover / click), Pills allgemein Ästhetik TODO Dark mode Strartseite Upload TODO Suche Register diff --git a/HaWeb/Views/HKB/Dynamic/Suche.cshtml b/HaWeb/Views/HKB/Dynamic/Suche.cshtml index 739a7ce..e016e4c 100644 --- a/HaWeb/Views/HKB/Dynamic/Suche.cshtml +++ b/HaWeb/Views/HKB/Dynamic/Suche.cshtml @@ -8,7 +8,6 @@