From 60a5aea613293a658d998ada6ccdcc603495c59a Mon Sep 17 00:00:00 2001 From: Simon Martens Date: Fri, 26 Jan 2024 10:04:59 +0100 Subject: [PATCH] BUGFIX Suche --- HaWeb/README.md | 108 +---------- HaWeb/Stuff.md | 25 +++ HaWeb/Views/HKB/Dynamic/Suche.cshtml | 270 ++++++++++++++++----------- HaWeb/appsettings.Development.json | 6 +- HaWeb/package.json | 2 +- 5 files changed, 199 insertions(+), 212 deletions(-) create mode 100644 HaWeb/Stuff.md diff --git a/HaWeb/README.md b/HaWeb/README.md index 96ad974..3156896 100644 --- a/HaWeb/README.md +++ b/HaWeb/README.md @@ -1,17 +1,17 @@ # Building and preparation ## Prep -To build the project install nodejs > 16.5 LTS. Install npm > 8.10.0. After that, do an `npm install` in the project directory to install the necessary dependencies. Nodejs is used for css scaffolding, this project uses `postcss`, with the `tailwindcss` CSS framework as a postcss plugin to only include used classes. Also, the `postcss-import` postcss-plugin is used to allow for compartmentalization of css files and the import statement to merge those files together (be careful of the order of commands in `postcss.config.js`!). `autoprefixer` and `css-nano` plugins are recommended at least for production builds since they provide cross-browser-compatibility and minification of file size for css files. +To build the project install nodejs > 16.5 LTS. Install npm > 8.10.0. After that, do an `npm install` in the project directory to install the necessary dependencies. Nodejs is used for css and javascript scaffolding, this project uses `vite` and `postcss`, with the `tailwindcss` CSS framework as a postcss plugin to only include used classes (be careful of the order of commands in `postcss.config.js`!). `autoprefixer` and `css-nano` plugins are recommended at least for production builds since they provide cross-browser-compatibility and minification of file size for css files. -Dotnet 6.0.300 is currently used. To build the project, do a `dotnet restore` and collect the `Microsoft.FeatureManagement.AspNetCore` nuget-package which is used to enable feauture-flags in `appsettings.json`. Some routes, such as the admin area of the project will only be mapped if certain flags are present and set to true. +Dotnet 6 is currently used. To build the project, do a `dotnet restore` and collect the `Microsoft.FeatureManagement.AspNetCore` nuget-package which is used to enable feauture-flags in `appsettings.json`. Some routes, such as the admin area of the project will only be mapped if certain flags are present and set to true. -Also, this project requires two other projects `HaDocumentV6` (for reading in the file into convenient to use models) and `HaXMLReader` (for forward parsing elements such as letters, comments, traditions and marginals in an HTML transform). They have no dependencies (apart from each other and `.NET 6`) and are build and linked at build time automatically. +Also, this project requires two other projects `HaDocumentV6` (for reading in the file into convenient to use models) and `HaXMLReader` (for forward parsing elements such as letters, comments, traditions and marginals in an HTML transform). They have no dependencies (apart from each other and `.NET 6`) and are build and linked at build time automatically. ## Building the project -`dotnet build Tailwind.csproj` or `npm run css_build` +`npm run build` -to build the necessary `output.css`-File. +to build the necessary `wwwroot/dist/styles.css` & `wwwroot/dist/scripts.js`-Files. `dotnet build HaWeb.csproj` @@ -19,7 +19,7 @@ to build the Website. Please do consider the order of these commands. Don't forget to place a valid `Hamann.xml`-File in the root of the build to provide a starting and fallback XML-file. -Note that nodejs is used only as a build tool for css (and possibly in the future javascript) processing. To host the website there is no node needed. +Note that nodejs is used only as a build tool for css and javascript. To host the website there is no node needed. ## Development tools @@ -27,9 +27,9 @@ Set the `DOTNET_ENVIRONMENT` variable to `Development`. Run `dotnet watch run` and -`npm run watch` or +`npm run dev` or -`bun run watch` +`bun run dev` 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. @@ -37,8 +37,7 @@ There is a chance you need to set the Environment Variable to 'Development' in W Recommended vscode plugins include the XML Tools, c#, Tailwind CSS IntelliSense & TODO Tree. -## Release - +## Releas For a Linux server run: @@ -52,91 +51,4 @@ In the appropriate settings (set the `DOTNET_ENVIRONMENT` variable on the server - RepositoryBranch - RepositoryURL -Absolute paths, sadly, are reqired. Create Folders if neccessary. Reading rights are required for `HamannFileStoreLinux` (to save the state). The `BareRepositoryPath` usually is the `.git` Folder inside the Repo, where the Server gets the latest commit information from `refs/heads/`. To sync either you set up a git server and set the server as remote of the repository to push. Or use git webhooks to pull on pushes. - -## Redesign der Hamann-Vebseite, drittes Update -Veränderungenen in der Funktionalität für den Benutzer -- Behutsames Redesign der Webseite: - - Schrift wird minimal größer auf großen Bildschirmen - - Redesign der Marginalspalte, sodass keine Überschneidungen vorkommen, gut für screenreader - - Leichtes Redesign der Zusatzinformationen für einen Brief (Tradition, Edits) an etwas prominenterer Stelle - - Anpassung der Webseite an Mobilgeräte und Tablets -- Suche im Brieftext wird gefixt -- Seite wird zugänglich für Menschen mit eingeschränktem Sehvermögen / Screenreadern -- Bibellinks in Bibelkommentaren -- Verbesserte Ladezeiten -- Startseite für die Briefausgebe / Werkausgabe. Unterschiedliche Menüs für die Ausgaben -- URL für die Register hat sich geändert, bleibt aber weiter unter `/Supplementa/` zugängig. -- Ebenso alle anderen URLs für die Briefausgabe -- Anzeige Briefe beim Namen (?) -- GeoCities und Personen-Verweise (?) - -Veränderungen in der Funktionalität für die Redakteure -- Online-Syntaxcheck für XML-Dateien (Noch nicht implementiert) -- Online-Cross-Dateien-Check (bsp. verweist jede Marginalie auf eine existierende Zeile) (Noch nicht implementiert) -- Erstellung einer HAMANN.xml-Datei, hochladen der HAMANN.xml-Datei auf die Plattform - -Veränderungen im Code -- Anpassung des Codes an .NET 6 -- Umzug nach CSS Framework Tailwind -- Code ist aufgeräumt und sortiert -- Leichtere Anpassungen an zukünftige Bedürfnisse (Wartungszeiten minimieren) -- Auslagerungen einzelner Einstellungen in Einstellungsdateien -- Code wird open source zugänglich - -Ästhetisch unzufriedenstellend, aber funktional: -B TODO pills are not mobile friendly (hover / click), Pills allgemein Ästhetik -D TODO High Contrast Mode manchmal komisch -D TODO Kein High Contrast Mode für den Upload -D TODO High Contrast Mode: Kursiv und ausgegraut (Herausgeberanmerkungen) schwer sichtbar -D TODO 400: Traditions nicht genug Abstand - -Technische Details: -D TODO Move ILibrary -> neuer Parser -C TODO Syntax-Check -A TODO Fußnoten in Editionsgeschichte als Marginalkommentare - -(Am Besten) Vor dem release: -A TODO Kopieren von Text ermöglichen, mit SPAN arbeiten -B TODO Suchergebnisse beschränken -B TODO Mobile Menüs bei der Seitennavigation (Jahrszahlen, Buchstabenindex usw) -C TODO Traditions durchsuchen - -Bugs für Janina/Luca: -tabellen ok, ausser 939 -KOmmentare verschobem 202 Anhang - -Known Bugs: -- click event does not work in iOS -- rerender marginals on tab switch - - -GIT-UMBAU: - -- OPUS-Check briefe -- SYNTAX-Check -- ILIB -(- Searchables) - -Start: kein background service -Datei vom Admin-Panel laden: kein bacckground service -Datei ändert sich: background service + reload call on all clients -Konfiguration ändert sich: kein background service - -BACKGROUND SERVICE: -- FileWatch -- XMLInteractionService.Collect(List) -- XMLInteractionService.TryCreate() -- XMLFileProvider.SaveHamannFile(XElement element, string basefilepath, ModelStateDictionary? ModelState) - -BACKGROUND SERVICE WITH JSON OUTPUT: -- XMLTestService.Test(XMLInteractionService) - -KEIN BACKGROUND SERVICE: -- HaDocuemntWrapper.SetLibrary(IFileInfo? file, XDocument? doc, ModelStateDictionary? ModelState = null) -- XMLInteractionService.CreateSearchables(XDocument document) - -TASKS: -- Syntax Errors nicht mehr im FileModel loggen -- State für Collect() -- State für TryCreate() +Absolute paths, sadly, are reqired. Create Folders if neccessary. Writing rights are required for `HamannFileStoreLinux` (to save the state). The `BareRepositoryPath` usually is the `.git` Folder inside the Repo, where the Server gets the latest commit information from `refs/heads/`. To sync either you set up a git server and set the server as remote of the repository to push. Or use git webhooks to pull on pushes. \ No newline at end of file diff --git a/HaWeb/Stuff.md b/HaWeb/Stuff.md new file mode 100644 index 0000000..863c59e --- /dev/null +++ b/HaWeb/Stuff.md @@ -0,0 +1,25 @@ +Ästhetisch unzufriedenstellend, aber funktional: +B TODO pills are not mobile friendly (hover / click), Pills allgemein Ästhetik +D TODO High Contrast Mode manchmal komisch +D TODO Kein High Contrast Mode für den Upload +D TODO High Contrast Mode: Kursiv und ausgegraut (Herausgeberanmerkungen) schwer sichtbar +D TODO 400: Traditions nicht genug Abstand + +Technische Details: +D TODO Move ILibrary -> neuer Parser +C TODO Syntax-Check +A TODO Fußnoten in Editionsgeschichte als Marginalkommentare + +(Am Besten) Vor dem release: +A TODO Kopieren von Text ermöglichen, mit SPAN arbeiten +B TODO Suchergebnisse beschränken +B TODO Mobile Menüs bei der Seitennavigation (Jahrszahlen, Buchstabenindex usw) +C TODO Traditions durchsuchen + +Bugs für Janina/Luca: +tabellen ok, ausser 939 +KOmmentare verschobem 202 Anhang + +Known Bugs: +- click event does not work in iOS +- rerender marginals on tab switch \ No newline at end of file diff --git a/HaWeb/Views/HKB/Dynamic/Suche.cshtml b/HaWeb/Views/HKB/Dynamic/Suche.cshtml index 655eef8..8f55d35 100644 --- a/HaWeb/Views/HKB/Dynamic/Suche.cshtml +++ b/HaWeb/Views/HKB/Dynamic/Suche.cshtml @@ -9,149 +9,199 @@