mirror of
https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
synced 2025-10-29 09:15:33 +00:00
Did a few thinng to fi x small bugs (see readme changes)
This commit is contained in:
@@ -38,7 +38,7 @@ public class RegisterController : Controller {
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult Register(string? id) {
|
||||
public IActionResult Register(string? id, string? search) {
|
||||
// Setup settings and variables
|
||||
var lib = _lib.GetLibrary();
|
||||
var url = "/Register/Register/";
|
||||
@@ -105,7 +105,7 @@ public class RegisterController : Controller {
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult Forschung(string? id) {
|
||||
public IActionResult Forschung(string? id, string? search) {
|
||||
// Setup settings and variables
|
||||
var lib = _lib.GetLibrary();
|
||||
var url = "/Register/Forschung/";
|
||||
|
||||
@@ -62,15 +62,18 @@ Veränderungen im Code
|
||||
- Auslagerungen einzelner Einstellungen in Einstellungsdateien
|
||||
- Code open source zugänglich machen?
|
||||
|
||||
|
||||
TODO 1127 zu breit
|
||||
TODO tabellen ok, ausser 939, 806 falsch geschachtelt: dort sind htabs geschachtelt
|
||||
TODO 659 align center und align-right ueberschneidugn
|
||||
TODO Word-wrap before align, tabs
|
||||
TODO pills are not mobile friendly (hover / click)
|
||||
TODO Evtl alignment von center / right an der letzten oder nächsten zeile
|
||||
TODO tabellen ok, ausser 939, 806 falsch geschachtelt: dort sind htabs geschachtelt
|
||||
TODO XML-Check im Client
|
||||
TODO 516A david friedlaender in den traditions
|
||||
TODO Move ILibrary -> neuer Parser
|
||||
TODO Word-wrap before align, tabs
|
||||
TODO Hochstellungen nach mediaevalziffern
|
||||
TODO Startseite Ästhetik ~Geht so~
|
||||
TODO 1127 zu breit Hm -> Stiftung
|
||||
TODO 659 align center und align-right ueberschneidugn -> Stiftung
|
||||
|
||||
TODO Einfügungszeichen zerstört suchergebnisse
|
||||
TODO Fußnoten in static pages funktionieren nicht
|
||||
Vor dem internen release:
|
||||
TODO pills are not mobile friendly (hover / click), Pills allgemein Ästhetik
|
||||
TODO Dark mode Strartseite Upload
|
||||
TODO Suche Register
|
||||
TODO Syntax-Check
|
||||
@@ -1,76 +0,0 @@
|
||||
// namespace HaWeb;
|
||||
// using HaDocument.Models;
|
||||
// using HaDocument.Interfaces;
|
||||
// using HaDocument.Comparers;
|
||||
// using HaXMLReader.Interfaces;
|
||||
// using HaWeb.Models;
|
||||
// using HaXMLReader.EvArgs;
|
||||
// using System.Collections.Concurrent;
|
||||
// using System.Collections.Generic;
|
||||
// using System.Collections.Immutable;
|
||||
// using System.Threading.Tasks;
|
||||
// using System.Linq;
|
||||
// using System;
|
||||
|
||||
// internal class DocumentSearch {
|
||||
// internal DocumentSearchResult _searchResult { get; }
|
||||
// private IReader _reader { get; }
|
||||
// private string _search { get; }
|
||||
|
||||
// internal DocumentSearch(DocumentSearchResult res, IReader reader, string search) {
|
||||
// _searchResult = res;
|
||||
// _reader = reader;
|
||||
// _search = search;
|
||||
// _pg = "";
|
||||
// }
|
||||
|
||||
// internal DocumentSearchResult Act() {
|
||||
// _reader.Text += OnText;
|
||||
// _reader.SingleTag += OnSTag;
|
||||
// _reader.Read();
|
||||
// return _searchResult;
|
||||
// }
|
||||
|
||||
// internal void OnText(object _, Text text) {
|
||||
// if (text.Value.ToLower().Contains(_search.ToLower())) {
|
||||
// _searchResult.Results.Add(new DocumentResult(text.Value, _pg, _ln));
|
||||
// }
|
||||
// }
|
||||
|
||||
// private string _pg;
|
||||
// private string _ln;
|
||||
|
||||
// internal void OnSTag(object _, Tag tag) {
|
||||
// if (tag.Name == "page")
|
||||
// _pg = tag["index"];
|
||||
// else if (tag.Name == "line")
|
||||
// _ln = tag["index"];
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// internal class RegisterSearch {
|
||||
// internal Comment _searchResult { get; }
|
||||
// private IReader _reader { get; }
|
||||
// private string _search { get; }
|
||||
// private bool found;
|
||||
|
||||
// internal RegisterSearch(Comment res, IReader reader, string search) {
|
||||
// _searchResult = res;
|
||||
// _reader = reader;
|
||||
// _search = search;
|
||||
// found = false;
|
||||
// }
|
||||
|
||||
// internal bool Act() {
|
||||
// _reader.Text += OnText;
|
||||
// _reader.Read();
|
||||
// return found;
|
||||
// }
|
||||
|
||||
// internal void OnText(object _, Text text) {
|
||||
// if (text.Value.ToLower().Contains(_search.ToLower())) {
|
||||
// found = true;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
@@ -45,6 +45,8 @@ public static class CSSClasses {
|
||||
public const string TULCLASS = "ha-tul"; // XML:
|
||||
public const string HEADERCLASS = "ha-textheader"; // XML:
|
||||
public const string HANDCLASS = "ha-hand";
|
||||
public const string INSERTIONCLASS = "ha-insertion";
|
||||
|
||||
public const string TABLECLASS = "ha-table";
|
||||
public const string TABCLASS = "ha-hatab-"; // TODO: GEN
|
||||
public const string CROSSEDDASHCLASS = "ha-diagdel";
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
namespace HaWeb.Settings.ParsingRules;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using HaWeb.Settings;
|
||||
|
||||
using TagFuncList = List<(Func<HaXMLReader.EvArgs.Tag, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.EditState>, bool>, Action<System.Text.StringBuilder, HaXMLReader.EvArgs.Tag, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.EditState>>)>;
|
||||
using TextFuncList = List<(Func<HaXMLReader.EvArgs.Text, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.EditState>, bool>, Action<System.Text.StringBuilder, HaXMLReader.EvArgs.Text, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.EditState>>)>;
|
||||
using WhitespaceFuncList = List<(Func<HaXMLReader.EvArgs.Whitespace, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.EditState>, bool>, Action<System.Text.StringBuilder, HaXMLReader.EvArgs.Whitespace, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.EditState>>)>;
|
||||
@@ -8,97 +10,48 @@ using WhitespaceFuncList = List<(Func<HaXMLReader.EvArgs.Whitespace, HaWeb.HTMLP
|
||||
public static class EditRules {
|
||||
private static readonly string DEFAULTELEMENT = HaWeb.Settings.HTML.DEFAULTELEMENT;
|
||||
|
||||
private static readonly string LEMMACLASS = HaWeb.Settings.CSSClasses.LEMMACLASS;
|
||||
private static readonly string TITLECLASS = HaWeb.Settings.CSSClasses.TITLECLASS;
|
||||
private static readonly string ENTRYCLASS = HaWeb.Settings.CSSClasses.ENTRYCLASS;
|
||||
|
||||
private static readonly string ALIGNCENTERCLASS = HaWeb.Settings.CSSClasses.ALIGNCENTERCLASS;
|
||||
private static readonly string ALIGNRIGHTCLASS = HaWeb.Settings.CSSClasses.ALIGNRIGHTCLASS;
|
||||
private static readonly string ADDEDCLASS = HaWeb.Settings.CSSClasses.ADDEDCLASS;
|
||||
private static readonly string SALCLASS = HaWeb.Settings.CSSClasses.SALCLASS;
|
||||
private static readonly string AQCLASS = HaWeb.Settings.CSSClasses.AQCLASS;
|
||||
private static readonly string SUPERCLASS = HaWeb.Settings.CSSClasses.SUPERCLASS;
|
||||
private static readonly string DELCLASS = HaWeb.Settings.CSSClasses.DELCLASS;
|
||||
private static readonly string NRCLASS = HaWeb.Settings.CSSClasses.NRCLASS;
|
||||
private static readonly string NOTECLASS = HaWeb.Settings.CSSClasses.NOTECLASS;
|
||||
private static readonly string ULCLASS = HaWeb.Settings.CSSClasses.ULCLASS;
|
||||
private static readonly string ANCHORCLASS = HaWeb.Settings.CSSClasses.ANCHORCLASS;
|
||||
private static readonly string FNCLASS = HaWeb.Settings.CSSClasses.FNCLASS;
|
||||
private static readonly string DULCLASS = HaWeb.Settings.CSSClasses.DULCLASS;
|
||||
private static readonly string FULCLASS = HaWeb.Settings.CSSClasses.FULCLASS;
|
||||
private static readonly string UPCLASS = HaWeb.Settings.CSSClasses.UPCLASS;
|
||||
private static readonly string SUBCLASS = HaWeb.Settings.CSSClasses.SUBCLASS;
|
||||
private static readonly string TULCLASS = HaWeb.Settings.CSSClasses.TULCLASS;
|
||||
private static readonly string HEADERCLASS = HaWeb.Settings.CSSClasses.HEADERCLASS;
|
||||
private static readonly string HANDCLASS = HaWeb.Settings.CSSClasses.HANDCLASS;
|
||||
private static readonly string TABLECLASS = HaWeb.Settings.CSSClasses.TABLECLASS;
|
||||
private static readonly string TABCLASS = HaWeb.Settings.CSSClasses.TABCLASS;
|
||||
private static readonly string CROSSEDDASHCLASS = HaWeb.Settings.CSSClasses.CROSSEDDASHCLASS;
|
||||
private static readonly string TEXTCLASS = HaWeb.Settings.CSSClasses.TEXTCLASS;
|
||||
|
||||
private static readonly string BZGCLASS = HaWeb.Settings.CSSClasses.BZGCLASS;
|
||||
private static readonly string ZHCLASS = HaWeb.Settings.CSSClasses.ZHCLASS;
|
||||
private static readonly string EMPHCLASS = HaWeb.Settings.CSSClasses.EMPHCLASS;
|
||||
private static readonly string APPCLASS = HaWeb.Settings.CSSClasses.APPCLASS;
|
||||
private static readonly string MARGINGALBOXCLASS = HaWeb.Settings.CSSClasses.MARGINGALBOXCLASS;
|
||||
|
||||
// Zeilen:
|
||||
private static readonly string ZHBREAKCLASS = HaWeb.Settings.CSSClasses.ZHBREAKCLASS;
|
||||
private static readonly string LINELINECLASS = HaWeb.Settings.CSSClasses.LINELINECLASS;
|
||||
private static readonly string LINEINDENTCLASS = HaWeb.Settings.CSSClasses.LINEINDENTCLASS;
|
||||
private static readonly string ZHPAGECLASS = HaWeb.Settings.CSSClasses.ZHBREAKCLASS;
|
||||
private static readonly string FIRSTPAGECLASS = HaWeb.Settings.CSSClasses.FIRSTPAGECLASS;
|
||||
private static readonly string EMPTYLINECLASS = HaWeb.Settings.CSSClasses.EMPTYLINECLASS;
|
||||
|
||||
// Root-Elemente
|
||||
private static readonly string COMMENTCLASS = HaWeb.Settings.CSSClasses.COMMENTCLASS;
|
||||
private static readonly string EDITREASONCLASS = HaWeb.Settings.CSSClasses.EDITREASONCLASS;
|
||||
private static readonly string SUBSECTIONCLASS = HaWeb.Settings.CSSClasses.SUBSECTIONCLASS;
|
||||
private static readonly string TRADITIONCLASS = HaWeb.Settings.CSSClasses.TRADITIONCLASS;
|
||||
private static readonly string MARGINALCLASS = HaWeb.Settings.CSSClasses.MARGINALCLASS;
|
||||
private static readonly string LETTERCLASS = HaWeb.Settings.CSSClasses.LETTERCLASS;
|
||||
|
||||
public static readonly TagFuncList OTagRules = new TagFuncList() {
|
||||
( ( x, _) => x.Name == "align" && x["pos"] == "center", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ALIGNCENTERCLASS)) ),
|
||||
( ( x, _) => x.Name == "align" && x["pos"] == "right", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ALIGNRIGHTCLASS)) ),
|
||||
( ( x, _) => x.Name == "added", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ADDEDCLASS)) ),
|
||||
( ( x, _) => x.Name == "sal", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SALCLASS)) ),
|
||||
( ( x, _) => x.Name == "aq", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, AQCLASS)) ),
|
||||
( ( x, _) => x.Name == "super", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SUPERCLASS)) ),
|
||||
( ( x, _) => x.Name == "align" && x["pos"] == "center", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ALIGNCENTERCLASS)) ),
|
||||
( ( x, _) => x.Name == "align" && x["pos"] == "right", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ALIGNRIGHTCLASS)) ),
|
||||
( ( x, _) => x.Name == "added", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ADDEDCLASS)) ),
|
||||
( ( x, _) => x.Name == "sal", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SALCLASS)) ),
|
||||
( ( x, _) => x.Name == "aq", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.AQCLASS)) ),
|
||||
( ( x, _) => x.Name == "super", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SUPERCLASS)) ),
|
||||
( ( x, _) => x.Name == "del", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, DELCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.DELCLASS));
|
||||
reader.State.active_del = true;
|
||||
}),
|
||||
( ( x, _) => x.Name == "nr", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, NRCLASS)) ),
|
||||
( ( x, _) => x.Name == "note", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, NOTECLASS)) ),
|
||||
( ( x, _) => x.Name == "ul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ULCLASS)) ),
|
||||
( ( x, _) => x.Name == "anchor" && !String.IsNullOrWhiteSpace(x["ref"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ANCHORCLASS)) ),
|
||||
( ( x, _) => x.Name == "fn" && !String.IsNullOrWhiteSpace(x["index"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, FNCLASS)) ),
|
||||
( ( x, _) => x.Name == "dul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, DULCLASS)) ),
|
||||
( ( x, _) => x.Name == "ful", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, FULCLASS)) ),
|
||||
( ( x, _) => x.Name == "up", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, UPCLASS)) ),
|
||||
( ( x, _) => x.Name == "sub", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SUBCLASS)) ),
|
||||
( ( x, _) => x.Name == "tul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TULCLASS)) ),
|
||||
( ( x, _) => x.Name == "header", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HEADERCLASS)) ),
|
||||
( ( x, _) => x.Name == "lemma", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LEMMACLASS)) ),
|
||||
( ( x, _) => x.Name == "eintrag", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ENTRYCLASS)) ),
|
||||
( ( x, _) => x.Name == "titel", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TITLECLASS)) ),
|
||||
( ( x, _) => x.Name == "bzg", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, BZGCLASS)) ),
|
||||
( ( x, _) => x.Name == "zh", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHCLASS)) ),
|
||||
( ( x, _) => x.Name == "emph", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, EMPHCLASS)); } ),
|
||||
( ( x, _) => x.Name == "app", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, APPCLASS)); } ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SUBSECTIONCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "kommentar", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, COMMENTCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "editreason", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, EDITREASONCLASS)) ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LETTERCLASS)) ),
|
||||
( ( x, _) => x.Name == "letterTradition", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TRADITIONCLASS)) ),
|
||||
( ( x, _) => x.Name == "nr", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.NRCLASS)) ),
|
||||
( ( x, _) => x.Name == "note", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.NOTECLASS)) ),
|
||||
( ( x, _) => x.Name == "ul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ULCLASS)) ),
|
||||
( ( x, _) => x.Name == "anchor" && !String.IsNullOrWhiteSpace(x["ref"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ANCHORCLASS)) ),
|
||||
( ( x, _) => x.Name == "fn" && !String.IsNullOrWhiteSpace(x["index"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.FNCLASS)) ),
|
||||
( ( x, _) => x.Name == "dul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.DULCLASS)) ),
|
||||
( ( x, _) => x.Name == "ful", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.FULCLASS)) ),
|
||||
( ( x, _) => x.Name == "up", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.UPCLASS)) ),
|
||||
( ( x, _) => x.Name == "sub", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SUBCLASS)) ),
|
||||
( ( x, _) => x.Name == "tul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TULCLASS)) ),
|
||||
( ( x, _) => x.Name == "insertion", (sb, tag,_) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.INSERTIONCLASS)) ),
|
||||
( ( x, _) => x.Name == "header", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.HEADERCLASS)) ),
|
||||
( ( x, _) => x.Name == "lemma", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LEMMACLASS)) ),
|
||||
( ( x, _) => x.Name == "eintrag", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ENTRYCLASS)) ),
|
||||
( ( x, _) => x.Name == "titel", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TITLECLASS)) ),
|
||||
( ( x, _) => x.Name == "bzg", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.BZGCLASS)) ),
|
||||
( ( x, _) => x.Name == "zh", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHCLASS)) ),
|
||||
( ( x, _) => x.Name == "emph", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.EMPHCLASS)); } ),
|
||||
( ( x, _) => x.Name == "app", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.APPCLASS)); } ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SUBSECTIONCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "kommentar", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.COMMENTCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "editreason", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.EDITREASONCLASS)) ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LETTERCLASS)) ),
|
||||
( ( x, _) => x.Name == "letterTradition", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TRADITIONCLASS)) ),
|
||||
( ( x, _) => x.Name == "marginal", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINALCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.MARGINALCLASS));
|
||||
reader.State.active_skipwhitespace = !reader.State.active_skipwhitespace;
|
||||
}),
|
||||
( ( x, _) => x.Name == "hand", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDCLASS)) ),
|
||||
( ( x, _) => x.Name == "tabs", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TABLECLASS)) ),
|
||||
( ( x, _) => x.Name == "tab" && !String.IsNullOrWhiteSpace(x["value"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TABCLASS + tag["value"])))
|
||||
( ( x, _) => x.Name == "hand", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.HANDCLASS)) ),
|
||||
( ( x, _) => x.Name == "tabs", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TABLECLASS)) ),
|
||||
( ( x, _) => x.Name == "tab" && !String.IsNullOrWhiteSpace(x["value"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TABCLASS + tag["value"])))
|
||||
};
|
||||
|
||||
public static readonly TagFuncList CTagRules = new TagFuncList() {
|
||||
@@ -121,6 +74,7 @@ public static class EditRules {
|
||||
( ( x, _) => x.Name == "ful", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "sub", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "tul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "insertion", (sb, tag,_) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "header", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "lemma", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "eintrag", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
@@ -142,9 +96,9 @@ public static class EditRules {
|
||||
|
||||
public static readonly TextFuncList TextRules = new TextFuncList() {
|
||||
( ( x, _) => true, (sb, txt, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TEXTCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TEXTCLASS));
|
||||
if (reader.State.active_del)
|
||||
sb.Append(HttpUtility.HtmlEncode(txt.Value).Replace("–", "<" + DEFAULTELEMENT + " class=\"" + CROSSEDDASHCLASS + "\">–</" + DEFAULTELEMENT + ">"));
|
||||
sb.Append(HttpUtility.HtmlEncode(txt.Value).Replace("–", "<" + DEFAULTELEMENT + " class=\"" + CSSClasses.CROSSEDDASHCLASS + "\">–</" + DEFAULTELEMENT + ">"));
|
||||
else
|
||||
sb.Append(HttpUtility.HtmlEncode(txt.Value));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
namespace HaWeb.Settings.ParsingRules;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using HaWeb.Settings;
|
||||
|
||||
using TagFuncList = List<(Func<HaXMLReader.EvArgs.Tag, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.LetterState>, bool>, Action<System.Text.StringBuilder, HaXMLReader.EvArgs.Tag, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.LetterState>>)>;
|
||||
using TextFuncList = List<(Func<HaXMLReader.EvArgs.Text, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.LetterState>, bool>, Action<System.Text.StringBuilder, HaXMLReader.EvArgs.Text, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.LetterState>>)>;
|
||||
@@ -10,132 +11,73 @@ using WhitespaceFuncList = List<(Func<HaXMLReader.EvArgs.Whitespace, HaWeb.HTMLP
|
||||
public class LetterRules {
|
||||
private static readonly string DEFAULTELEMENT = HaWeb.Settings.HTML.DEFAULTELEMENT;
|
||||
|
||||
private static readonly string LEMMACLASS = HaWeb.Settings.CSSClasses.LEMMACLASS;
|
||||
private static readonly string TITLECLASS = HaWeb.Settings.CSSClasses.TITLECLASS;
|
||||
private static readonly string ENTRYCLASS = HaWeb.Settings.CSSClasses.ENTRYCLASS;
|
||||
|
||||
private static readonly string ALIGNCENTERCLASS = HaWeb.Settings.CSSClasses.ALIGNCENTERCLASS;
|
||||
private static readonly string ALIGNRIGHTCLASS = HaWeb.Settings.CSSClasses.ALIGNRIGHTCLASS;
|
||||
private static readonly string ADDEDCLASS = HaWeb.Settings.CSSClasses.ADDEDCLASS;
|
||||
private static readonly string SALCLASS = HaWeb.Settings.CSSClasses.SALCLASS;
|
||||
private static readonly string AQCLASS = HaWeb.Settings.CSSClasses.AQCLASS;
|
||||
private static readonly string SUPERCLASS = HaWeb.Settings.CSSClasses.SUPERCLASS;
|
||||
private static readonly string DELCLASS = HaWeb.Settings.CSSClasses.DELCLASS;
|
||||
private static readonly string NRCLASS = HaWeb.Settings.CSSClasses.NRCLASS;
|
||||
private static readonly string NOTECLASS = HaWeb.Settings.CSSClasses.NOTECLASS;
|
||||
private static readonly string ULCLASS = HaWeb.Settings.CSSClasses.ULCLASS;
|
||||
private static readonly string ANCHORCLASS = HaWeb.Settings.CSSClasses.ANCHORCLASS;
|
||||
private static readonly string FNCLASS = HaWeb.Settings.CSSClasses.FNCLASS;
|
||||
private static readonly string DULCLASS = HaWeb.Settings.CSSClasses.DULCLASS;
|
||||
private static readonly string FULCLASS = HaWeb.Settings.CSSClasses.FULCLASS;
|
||||
private static readonly string UPCLASS = HaWeb.Settings.CSSClasses.UPCLASS;
|
||||
private static readonly string SUBCLASS = HaWeb.Settings.CSSClasses.SUBCLASS;
|
||||
private static readonly string TULCLASS = HaWeb.Settings.CSSClasses.TULCLASS;
|
||||
private static readonly string HEADERCLASS = HaWeb.Settings.CSSClasses.HEADERCLASS;
|
||||
private static readonly string HANDCLASS = HaWeb.Settings.CSSClasses.HANDCLASS;
|
||||
private static readonly string TABLECLASS = HaWeb.Settings.CSSClasses.TABLECLASS;
|
||||
private static readonly string TABCLASS = HaWeb.Settings.CSSClasses.TABCLASS;
|
||||
private static readonly string CROSSEDDASHCLASS = HaWeb.Settings.CSSClasses.CROSSEDDASHCLASS;
|
||||
private static readonly string TEXTCLASS = HaWeb.Settings.CSSClasses.TEXTCLASS;
|
||||
|
||||
private static readonly string BZGCLASS = HaWeb.Settings.CSSClasses.BZGCLASS;
|
||||
private static readonly string ZHCLASS = HaWeb.Settings.CSSClasses.ZHCLASS;
|
||||
private static readonly string EMPHCLASS = HaWeb.Settings.CSSClasses.EMPHCLASS;
|
||||
private static readonly string APPCLASS = HaWeb.Settings.CSSClasses.APPCLASS;
|
||||
private static readonly string MARGINGALBOXCLASS = HaWeb.Settings.CSSClasses.MARGINGALBOXCLASS;
|
||||
private static readonly string MARGINALLISTCLASS = HaWeb.Settings.CSSClasses.MARGINALLISTCLASS;
|
||||
|
||||
// Zeilen:
|
||||
private static readonly string ZHLINECLASS = HaWeb.Settings.CSSClasses.ZHLINECLASS;
|
||||
private static readonly string FIRSTLINECLASS = HaWeb.Settings.CSSClasses.FIRSTLINECLASS;
|
||||
private static readonly string ZHBREAKCLASS = HaWeb.Settings.CSSClasses.ZHBREAKCLASS;
|
||||
private static readonly string LINELINECLASS = HaWeb.Settings.CSSClasses.LINELINECLASS;
|
||||
private static readonly string LINEINDENTCLASS = HaWeb.Settings.CSSClasses.LINEINDENTCLASS;
|
||||
private static readonly string ZHPAGECLASS = HaWeb.Settings.CSSClasses.ZHPAGECLASS;
|
||||
private static readonly string ZHLINECOUNTCLASS = HaWeb.Settings.CSSClasses.ZHLINECOUNTCLASS;
|
||||
private static readonly string FIRSTPAGECLASS = HaWeb.Settings.CSSClasses.FIRSTPAGECLASS;
|
||||
private static readonly string EMPTYLINECLASS = HaWeb.Settings.CSSClasses.EMPTYLINECLASS;
|
||||
private static readonly string HIDDENZHLINECOUNT = HaWeb.Settings.CSSClasses.HIDDENZHLINECOUNT;
|
||||
|
||||
// Root-Elemente
|
||||
private static readonly string COMMENTCLASS = HaWeb.Settings.CSSClasses.COMMENTCLASS;
|
||||
private static readonly string EDITREASONCLASS = HaWeb.Settings.CSSClasses.EDITREASONCLASS;
|
||||
private static readonly string SUBSECTIONCLASS = HaWeb.Settings.CSSClasses.SUBSECTIONCLASS;
|
||||
private static readonly string TRADITIONCLASS = HaWeb.Settings.CSSClasses.TRADITIONCLASS;
|
||||
private static readonly string MARGINALCLASS = HaWeb.Settings.CSSClasses.MARGINALCLASS;
|
||||
private static readonly string LETTERCLASS = HaWeb.Settings.CSSClasses.LETTERCLASS;
|
||||
|
||||
// Marker-Classes
|
||||
private static readonly string EDITMARKERCLASS = HaWeb.Settings.CSSClasses.EDITMARKERCLASS;
|
||||
private static readonly string COMMENTMARKERCLASS = HaWeb.Settings.CSSClasses.COMMENTMARKERCLASS;
|
||||
private static readonly string HANDMARKERCLASS = HaWeb.Settings.CSSClasses.HANDMARKERCLASS;
|
||||
|
||||
// Parsing Rules for Letters
|
||||
// General rules (for the lettertext column, also for parsing the marginals, awa tradtions and editreasons)
|
||||
public static readonly TagFuncList OTagRules = new TagFuncList() {
|
||||
( ( x, _) => x.Name == "align" && x["pos"] == "center", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ALIGNCENTERCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ALIGNCENTERCLASS));
|
||||
reader.State.mustwrap = (true, true);
|
||||
} ),
|
||||
( ( x, _) => x.Name == "align" && x["pos"] == "right", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ALIGNRIGHTCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ALIGNRIGHTCLASS));
|
||||
reader.State.mustwrap = (true, true);
|
||||
}),
|
||||
( ( x, _) => x.Name == "added", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ADDEDCLASS)) ),
|
||||
( ( x, _) => x.Name == "added", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ADDEDCLASS)) ),
|
||||
( ( x, _) => x.Name == "sal", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SALCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SALCLASS));
|
||||
reader.State.mustwrap = (true, true);
|
||||
}),
|
||||
( ( x, _) => x.Name == "aq", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, AQCLASS)) ),
|
||||
( ( x, _) => x.Name == "super", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SUPERCLASS)) ),
|
||||
( ( x, _) => x.Name == "del", (sb, tag, reader) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, DELCLASS)) ),
|
||||
( ( x, _) => x.Name == "nr", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, NRCLASS)) ),
|
||||
( ( x, _) => x.Name == "note", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, NOTECLASS)) ),
|
||||
( ( x, _) => x.Name == "ul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ULCLASS)) ),
|
||||
( ( x, _) => x.Name == "anchor" && !String.IsNullOrWhiteSpace(x["ref"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ANCHORCLASS)) ),
|
||||
( ( x, _) => x.Name == "fn" && !String.IsNullOrWhiteSpace(x["index"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, FNCLASS)) ),
|
||||
( ( x, _) => x.Name == "dul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, DULCLASS)) ),
|
||||
( ( x, _) => x.Name == "ful", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, FULCLASS)) ),
|
||||
( ( x, _) => x.Name == "up", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, UPCLASS)) ),
|
||||
( ( x, _) => x.Name == "sub", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SUBCLASS)) ),
|
||||
( ( x, _) => x.Name == "tul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TULCLASS)) ),
|
||||
( ( x, _) => x.Name == "aq", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.AQCLASS)) ),
|
||||
( ( x, _) => x.Name == "super", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SUPERCLASS)) ),
|
||||
( ( x, _) => x.Name == "del", (sb, tag, reader) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.DELCLASS)) ),
|
||||
( ( x, _) => x.Name == "nr", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.NRCLASS)) ),
|
||||
( ( x, _) => x.Name == "note", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.NOTECLASS)) ),
|
||||
( ( x, _) => x.Name == "ul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ULCLASS)) ),
|
||||
( ( x, _) => x.Name == "anchor" && !String.IsNullOrWhiteSpace(x["ref"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ANCHORCLASS)) ),
|
||||
( ( x, _) => x.Name == "fn" && !String.IsNullOrWhiteSpace(x["index"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.FNCLASS)) ),
|
||||
( ( x, _) => x.Name == "dul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.DULCLASS)) ),
|
||||
( ( x, _) => x.Name == "ful", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.FULCLASS)) ),
|
||||
( ( x, _) => x.Name == "up", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.UPCLASS)) ),
|
||||
( ( x, _) => x.Name == "sub", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SUBCLASS)) ),
|
||||
( ( x, _) => x.Name == "tul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TULCLASS)) ),
|
||||
( ( x, _) => x.Name == "insertion", (sb, tag,_) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.INSERTIONCLASS)) ),
|
||||
( ( x, _) => x.Name == "header", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HEADERCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.HEADERCLASS));
|
||||
reader.State.mustwrap = (true, true);
|
||||
}),
|
||||
( ( x, _) => x.Name == "lemma", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LEMMACLASS)) ),
|
||||
( ( x, _) => x.Name == "eintrag", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ENTRYCLASS)) ),
|
||||
( ( x, _) => x.Name == "titel", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TITLECLASS)) ),
|
||||
( ( x, _) => x.Name == "bzg", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, BZGCLASS)) ),
|
||||
( ( x, _) => x.Name == "zh", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHCLASS)) ),
|
||||
( ( x, _) => x.Name == "emph", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, EMPHCLASS)); } ),
|
||||
( ( x, _) => x.Name == "app", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, APPCLASS)); } ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SUBSECTIONCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "kommentar", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, COMMENTCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "editreason", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, EDITREASONCLASS)) ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LETTERCLASS)) ),
|
||||
( ( x, _) => x.Name == "letterTradition", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TRADITIONCLASS)) ),
|
||||
( ( x, _) => x.Name == "lemma", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LEMMACLASS)) ),
|
||||
( ( x, _) => x.Name == "eintrag", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ENTRYCLASS)) ),
|
||||
( ( x, _) => x.Name == "titel", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TITLECLASS)) ),
|
||||
( ( x, _) => x.Name == "bzg", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.BZGCLASS)) ),
|
||||
( ( x, _) => x.Name == "zh", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHCLASS)) ),
|
||||
( ( x, _) => x.Name == "emph", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.EMPHCLASS)); } ),
|
||||
( ( x, _) => x.Name == "app", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.APPCLASS)); } ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SUBSECTIONCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "kommentar", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.COMMENTCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "editreason", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.EDITREASONCLASS)) ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LETTERCLASS)) ),
|
||||
( ( x, _) => x.Name == "letterTradition", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TRADITIONCLASS)) ),
|
||||
( ( x, _) => x.Name == "marginal", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINALCLASS, "m-" + tag["index"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.MARGINALCLASS, "m-" + tag["index"]));
|
||||
reader.State.active_skipwhitespace = !reader.State.active_skipwhitespace;
|
||||
}),
|
||||
( ( x, _) => x.Name == "tabs", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TABLECLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TABLECLASS));
|
||||
// Tabs work with percentages, so we need a static width of the conttainer:
|
||||
reader.State.minwidth = true;
|
||||
} ),
|
||||
( ( x, _) => x.Name == "tab" && !String.IsNullOrWhiteSpace(x["value"]), (sb, tag, reader) => {
|
||||
reader.State.mustwrap = (true, true);
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TABCLASS + tag["value"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TABCLASS + tag["value"]));
|
||||
}),
|
||||
( ( x, _) => x.Name == "edit" && !String.IsNullOrWhiteSpace(x["ref"]), (sb, tag, _) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, EDITMARKERCLASS, "ea-" + tag["ref"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.EDITMARKERCLASS, "ea-" + tag["ref"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
}),
|
||||
( ( x, _) => x.Name == "hand", (sb, tag, _) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDMARKERCLASS, "ha-" + tag["ref"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.HANDMARKERCLASS, "ha-" + tag["ref"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.HANDCLASS));
|
||||
})
|
||||
};
|
||||
|
||||
@@ -162,6 +104,7 @@ public class LetterRules {
|
||||
( ( x, _) => x.Name == "ful", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "sub", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "tul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "insertion", (sb, tag,_) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "header", (sb, tag, reader) => {
|
||||
reader.State.mustwrap = (true, true);
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
@@ -189,9 +132,9 @@ public class LetterRules {
|
||||
|
||||
public static readonly TextFuncList TextRules = new TextFuncList() {
|
||||
( ( x, _) => true, (sb, txt, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TEXTCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TEXTCLASS));
|
||||
if (reader.OpenTags.Where(x => x.Name == "del").Any())
|
||||
sb.Append(HttpUtility.HtmlEncode(txt.Value).Replace("–", "<" + DEFAULTELEMENT + " class=\"" + CROSSEDDASHCLASS + "\">–</" + DEFAULTELEMENT + ">"));
|
||||
sb.Append(HttpUtility.HtmlEncode(txt.Value).Replace("–", "<" + DEFAULTELEMENT + " class=\"" + CSSClasses.CROSSEDDASHCLASS + "\">–</" + DEFAULTELEMENT + ">"));
|
||||
else
|
||||
sb.Append(HttpUtility.HtmlEncode(txt.Value));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
@@ -207,7 +150,7 @@ public class LetterRules {
|
||||
// This is NOT the beginning of the text, so we set a br, and then, linecount
|
||||
if(reader.State.currline != "-1") {
|
||||
if (!reader.State.mustwrap.Item2)
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement("br", ZHBREAKCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement("br", CSSClasses.ZHBREAKCLASS));
|
||||
else
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement("br"));
|
||||
reader.State.mustwrap = (false, false);
|
||||
@@ -215,23 +158,23 @@ public class LetterRules {
|
||||
// Linecount
|
||||
if(!String.IsNullOrWhiteSpace(tag["index"])) {
|
||||
reader.State.currline = tag["index"];
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHLINECOUNTCLASS, reader.State.currpage + "-" + reader.State.currline));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHLINECOUNTCLASS, reader.State.currpage + "-" + reader.State.currline));
|
||||
|
||||
// Fall 1: Neue Seite
|
||||
if (reader.State.currline == "1") {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHPAGECLASS, ""));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHPAGECLASS, ""));
|
||||
sb.Append("S. " + reader.State.currpage);
|
||||
}
|
||||
|
||||
// Fall 2: Neue Zeile, teilbar durch 5
|
||||
else if (Int32.TryParse(tag["index"], out var _) && Int32.Parse(tag["index"]) % 5 == 0) {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHLINECLASS, ""));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHLINECLASS, ""));
|
||||
sb.Append(tag["index"]);
|
||||
}
|
||||
|
||||
// Fall 3: Neue Zeile, nicht teilbar durch 5, deswegen versteckt
|
||||
else {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHLINECLASS + " " + HIDDENZHLINECOUNT, ""));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHLINECLASS + " " + CSSClasses.HIDDENZHLINECOUNT, ""));
|
||||
sb.Append(tag["index"]);
|
||||
}
|
||||
|
||||
@@ -251,10 +194,10 @@ public class LetterRules {
|
||||
if(reader.State.ParsedMarginals == null) reader.State.ParsedMarginals = new List<(string, string, string)>();
|
||||
var sb2 = new StringBuilder();
|
||||
margs = margs.OrderBy(x => Int32.Parse(x.Index));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, COMMENTMARKERCLASS, "ma-" + reader.State.currpage + "-" + reader.State.currline));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.COMMENTMARKERCLASS, "ma-" + reader.State.currpage + "-" + reader.State.currline));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINALLISTCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.MARGINGALBOXCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.MARGINALLISTCLASS));
|
||||
foreach (var marginal in margs)
|
||||
{
|
||||
// In Marginal, the Root-Element (<marginal>) is somehow parsed,
|
||||
@@ -274,14 +217,14 @@ public class LetterRules {
|
||||
|
||||
// Line type=line
|
||||
if(tag["type"] == "line") {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LINELINECLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LINELINECLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
reader.State.mustwrap = (false, true);
|
||||
}
|
||||
|
||||
// Line tab=
|
||||
if(!String.IsNullOrWhiteSpace(tag["tab"])) {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LINEINDENTCLASS + tag["tab"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LINEINDENTCLASS + tag["tab"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
if (tag["tab"] != "1") reader.State.mustwrap = (false, true);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using System.ComponentModel;
|
||||
namespace HaWeb.Settings.ParsingRules;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using HaWeb.Settings;
|
||||
|
||||
using TagFuncList = List<(Func<HaXMLReader.EvArgs.Tag, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.TraditionState>, bool>, Action<System.Text.StringBuilder, HaXMLReader.EvArgs.Tag, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.TraditionState>>)>;
|
||||
using TextFuncList = List<(Func<HaXMLReader.EvArgs.Text, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.TraditionState>, bool>, Action<System.Text.StringBuilder, HaXMLReader.EvArgs.Text, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.TraditionState>>)>;
|
||||
@@ -9,145 +11,80 @@ using WhitespaceFuncList = List<(Func<HaXMLReader.EvArgs.Whitespace, HaWeb.HTMLP
|
||||
public static class TraditionRules {
|
||||
private static readonly string DEFAULTELEMENT = HaWeb.Settings.HTML.DEFAULTELEMENT;
|
||||
|
||||
private static readonly string LEMMACLASS = HaWeb.Settings.CSSClasses.LEMMACLASS;
|
||||
private static readonly string TITLECLASS = HaWeb.Settings.CSSClasses.TITLECLASS;
|
||||
private static readonly string ENTRYCLASS = HaWeb.Settings.CSSClasses.ENTRYCLASS;
|
||||
|
||||
private static readonly string ALIGNCENTERCLASS = HaWeb.Settings.CSSClasses.ALIGNCENTERCLASS;
|
||||
private static readonly string ALIGNRIGHTCLASS = HaWeb.Settings.CSSClasses.ALIGNRIGHTCLASS;
|
||||
private static readonly string ADDEDCLASS = HaWeb.Settings.CSSClasses.ADDEDCLASS;
|
||||
private static readonly string SALCLASS = HaWeb.Settings.CSSClasses.SALCLASS;
|
||||
private static readonly string AQCLASS = HaWeb.Settings.CSSClasses.AQCLASS;
|
||||
private static readonly string SUPERCLASS = HaWeb.Settings.CSSClasses.SUPERCLASS;
|
||||
private static readonly string DELCLASS = HaWeb.Settings.CSSClasses.DELCLASS;
|
||||
private static readonly string NRCLASS = HaWeb.Settings.CSSClasses.NRCLASS;
|
||||
private static readonly string NOTECLASS = HaWeb.Settings.CSSClasses.NOTECLASS;
|
||||
private static readonly string ULCLASS = HaWeb.Settings.CSSClasses.ULCLASS;
|
||||
private static readonly string ANCHORCLASS = HaWeb.Settings.CSSClasses.ANCHORCLASS;
|
||||
private static readonly string FNCLASS = HaWeb.Settings.CSSClasses.FNCLASS;
|
||||
private static readonly string DULCLASS = HaWeb.Settings.CSSClasses.DULCLASS;
|
||||
private static readonly string FULCLASS = HaWeb.Settings.CSSClasses.FULCLASS;
|
||||
private static readonly string UPCLASS = HaWeb.Settings.CSSClasses.UPCLASS;
|
||||
private static readonly string SUBCLASS = HaWeb.Settings.CSSClasses.SUBCLASS;
|
||||
private static readonly string TULCLASS = HaWeb.Settings.CSSClasses.TULCLASS;
|
||||
private static readonly string HEADERCLASS = HaWeb.Settings.CSSClasses.HEADERCLASS;
|
||||
private static readonly string HANDCLASS = HaWeb.Settings.CSSClasses.HANDCLASS;
|
||||
private static readonly string TABLECLASS = HaWeb.Settings.CSSClasses.TABLECLASS;
|
||||
private static readonly string TABCLASS = HaWeb.Settings.CSSClasses.TABCLASS;
|
||||
private static readonly string CROSSEDDASHCLASS = HaWeb.Settings.CSSClasses.CROSSEDDASHCLASS;
|
||||
private static readonly string TEXTCLASS = HaWeb.Settings.CSSClasses.TEXTCLASS;
|
||||
|
||||
private static readonly string BZGCLASS = HaWeb.Settings.CSSClasses.BZGCLASS;
|
||||
private static readonly string ZHCLASS = HaWeb.Settings.CSSClasses.ZHCLASS;
|
||||
private static readonly string EMPHCLASS = HaWeb.Settings.CSSClasses.EMPHCLASS;
|
||||
private static readonly string APPCLASS = HaWeb.Settings.CSSClasses.APPCLASS;
|
||||
private static readonly string MARGINGALBOXCLASS = HaWeb.Settings.CSSClasses.MARGINGALBOXCLASS;
|
||||
|
||||
// Zeilen:
|
||||
private static readonly string ZHLINECLASS = HaWeb.Settings.CSSClasses.ZHLINECLASS;
|
||||
private static readonly string FIRSTLINECLASS = HaWeb.Settings.CSSClasses.FIRSTLINECLASS;
|
||||
private static readonly string ZHBREAKCLASS = HaWeb.Settings.CSSClasses.ZHBREAKCLASS;
|
||||
private static readonly string LINELINECLASS = HaWeb.Settings.CSSClasses.LINELINECLASS;
|
||||
private static readonly string LINEINDENTCLASS = HaWeb.Settings.CSSClasses.LINEINDENTCLASS;
|
||||
private static readonly string ZHPAGECLASS = HaWeb.Settings.CSSClasses.ZHPAGECLASS;
|
||||
private static readonly string ZHLINECOUNTCLASS = HaWeb.Settings.CSSClasses.ZHLINECOUNTCLASS;
|
||||
private static readonly string FIRSTPAGECLASS = HaWeb.Settings.CSSClasses.FIRSTPAGECLASS;
|
||||
private static readonly string EMPTYLINECLASS = HaWeb.Settings.CSSClasses.EMPTYLINECLASS;
|
||||
private static readonly string HIDDENZHLINECOUNT = HaWeb.Settings.CSSClasses.HIDDENZHLINECOUNT;
|
||||
|
||||
// Root-Elemente
|
||||
private static readonly string COMMENTCLASS = HaWeb.Settings.CSSClasses.COMMENTCLASS;
|
||||
private static readonly string EDITREASONCLASS = HaWeb.Settings.CSSClasses.EDITREASONCLASS;
|
||||
private static readonly string SUBSECTIONCLASS = HaWeb.Settings.CSSClasses.SUBSECTIONCLASS;
|
||||
private static readonly string TRADITIONCLASS = HaWeb.Settings.CSSClasses.TRADITIONCLASS;
|
||||
private static readonly string MARGINALCLASS = HaWeb.Settings.CSSClasses.MARGINALCLASS;
|
||||
private static readonly string MARGINALLISTCLASS = HaWeb.Settings.CSSClasses.MARGINALLISTCLASS;
|
||||
private static readonly string LETTERCLASS = HaWeb.Settings.CSSClasses.LETTERCLASS;
|
||||
|
||||
// Tradition-spezifische Elemente
|
||||
public static readonly string TRADLINECOUNTCLASS = HaWeb.Settings.CSSClasses.TRADLINECOUNTCLASS;
|
||||
public static readonly string TRADCOMMENTCOLUMNCLASS = HaWeb.Settings.CSSClasses.TRADCOMMENTCOLUMNCLASS;
|
||||
public static readonly string TRADZHTEXTCLASS = HaWeb.Settings.CSSClasses.TRADZHTEXTCLASS;
|
||||
public static readonly string TRADZHTEXTBOXCLASS = HaWeb.Settings.CSSClasses.TRADZHTEXTBOXCLASS;
|
||||
|
||||
// Marker-Classes
|
||||
private static readonly string EDITMARKERCLASS = HaWeb.Settings.CSSClasses.EDITMARKERCLASS;
|
||||
private static readonly string COMMENTMARKERCLASS = HaWeb.Settings.CSSClasses.COMMENTMARKERCLASS;
|
||||
private static readonly string HANDMARKERCLASS = HaWeb.Settings.CSSClasses.HANDMARKERCLASS;
|
||||
|
||||
|
||||
// Parsing Rules for Letters
|
||||
// General rules (for the lettertext column, also for parsing the marginals, awa tradtions and editreasons)
|
||||
public static readonly TagFuncList OTagRules = new TagFuncList() {
|
||||
( ( x, _) => x.Name == "align" && x["pos"] == "center", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ALIGNCENTERCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ALIGNCENTERCLASS));
|
||||
reader.State.mustwrap = (true, true);
|
||||
} ),
|
||||
( ( x, _) => x.Name == "align" && x["pos"] == "right", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ALIGNRIGHTCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ALIGNRIGHTCLASS));
|
||||
reader.State.mustwrap = (true, true);
|
||||
}),
|
||||
( ( x, _) => x.Name == "added", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ADDEDCLASS)) ),
|
||||
( ( x, _) => x.Name == "added", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ADDEDCLASS)) ),
|
||||
( ( x, _) => x.Name == "sal", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SALCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SALCLASS));
|
||||
reader.State.mustwrap = (true, true);
|
||||
}),
|
||||
( ( x, _) => x.Name == "aq", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, AQCLASS)) ),
|
||||
( ( x, _) => x.Name == "super", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SUPERCLASS)) ),
|
||||
( ( x, _) => x.Name == "del", (sb, tag, reader) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, DELCLASS)) ),
|
||||
( ( x, _) => x.Name == "nr", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, NRCLASS)) ),
|
||||
( ( x, _) => x.Name == "note", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, NOTECLASS)) ),
|
||||
( ( x, _) => x.Name == "ul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ULCLASS)) ),
|
||||
( ( x, _) => x.Name == "anchor" && !String.IsNullOrWhiteSpace(x["ref"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ANCHORCLASS)) ),
|
||||
( ( x, _) => x.Name == "fn" && !String.IsNullOrWhiteSpace(x["index"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, FNCLASS)) ),
|
||||
( ( x, _) => x.Name == "dul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, DULCLASS)) ),
|
||||
( ( x, _) => x.Name == "ful", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, FULCLASS)) ),
|
||||
( ( x, _) => x.Name == "up", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, UPCLASS)) ),
|
||||
( ( x, _) => x.Name == "sub", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SUBCLASS)) ),
|
||||
( ( x, _) => x.Name == "tul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TULCLASS)) ),
|
||||
( ( x, _) => x.Name == "aq", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.AQCLASS)) ),
|
||||
( ( x, _) => x.Name == "super", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SUPERCLASS)) ),
|
||||
( ( x, _) => x.Name == "del", (sb, tag, reader) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.DELCLASS)) ),
|
||||
( ( x, _) => x.Name == "nr", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.NRCLASS)) ),
|
||||
( ( x, _) => x.Name == "note", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.NOTECLASS)) ),
|
||||
( ( x, _) => x.Name == "ul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ULCLASS)) ),
|
||||
( ( x, _) => x.Name == "anchor" && !String.IsNullOrWhiteSpace(x["ref"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ANCHORCLASS)) ),
|
||||
( ( x, _) => x.Name == "fn" && !String.IsNullOrWhiteSpace(x["index"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.FNCLASS)) ),
|
||||
( ( x, _) => x.Name == "dul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.DULCLASS)) ),
|
||||
( ( x, _) => x.Name == "ful", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.FULCLASS)) ),
|
||||
( ( x, _) => x.Name == "up", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.UPCLASS)) ),
|
||||
( ( x, _) => x.Name == "sub", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SUBCLASS)) ),
|
||||
( ( x, _) => x.Name == "tul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TULCLASS)) ),
|
||||
( ( x, _) => x.Name == "insertion", (sb, tag,_) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.INSERTIONCLASS)) ),
|
||||
( ( x, _) => x.Name == "header", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HEADERCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.HEADERCLASS));
|
||||
reader.State.mustwrap = (true, true);
|
||||
}),
|
||||
( ( x, _) => x.Name == "lemma", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LEMMACLASS)) ),
|
||||
( ( x, _) => x.Name == "eintrag", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ENTRYCLASS)) ),
|
||||
( ( x, _) => x.Name == "titel", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TITLECLASS)) ),
|
||||
( ( x, _) => x.Name == "bzg", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, BZGCLASS)) ),
|
||||
( ( x, _) => x.Name == "zh", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHCLASS)) ),
|
||||
( ( x, _) => x.Name == "emph", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, EMPHCLASS)); } ),
|
||||
( ( x, _) => x.Name == "app", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, APPCLASS)); } ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, SUBSECTIONCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "kommentar", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, COMMENTCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "editreason", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, EDITREASONCLASS)) ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LETTERCLASS)) ),
|
||||
( ( x, _) => x.Name == "letterTradition", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TRADITIONCLASS)) ),
|
||||
( ( x, _) => x.Name == "lemma", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LEMMACLASS)) ),
|
||||
( ( x, _) => x.Name == "eintrag", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ENTRYCLASS)) ),
|
||||
( ( x, _) => x.Name == "titel", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TITLECLASS)) ),
|
||||
( ( x, _) => x.Name == "bzg", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.BZGCLASS)) ),
|
||||
( ( x, _) => x.Name == "zh", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHCLASS)) ),
|
||||
( ( x, _) => x.Name == "emph", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.EMPHCLASS)); } ),
|
||||
( ( x, _) => x.Name == "app", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.APPCLASS)); } ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.SUBSECTIONCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "kommentar", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.COMMENTCLASS, tag["id"])) ),
|
||||
( ( x, _) => x.Name == "editreason", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.EDITREASONCLASS)) ),
|
||||
( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LETTERCLASS)) ),
|
||||
( ( x, _) => x.Name == "letterTradition", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TRADITIONCLASS)) ),
|
||||
( ( x, _) => x.Name == "marginal", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINALCLASS, "m-" + tag["index"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.MARGINALCLASS, "m-" + tag["index"]));
|
||||
reader.State.active_skipwhitespace = !reader.State.active_skipwhitespace;
|
||||
}),
|
||||
( ( x, _) => x.Name == "tabs", (sb, tag, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TABLECLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TABLECLASS));
|
||||
// Tabs work with percentages, so we need a static width of the conttainer:
|
||||
reader.State.minwidth = true;
|
||||
} ),
|
||||
( ( x, _) => x.Name == "tab" && !String.IsNullOrWhiteSpace(x["value"]), (sb, tag, reader) => {
|
||||
reader.State.mustwrap = (true, true);
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TABCLASS + tag["value"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TABCLASS + tag["value"]));
|
||||
}),
|
||||
( ( x, _) => x.Name == "edit" && !String.IsNullOrWhiteSpace(x["ref"]), (sb, tag, _) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, EDITMARKERCLASS, "ea-" + tag["ref"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.EDITMARKERCLASS, "ea-" + tag["ref"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
}),
|
||||
( ( x, _) => x.Name == "hand", (sb, tag, _) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDMARKERCLASS, "ha-" + tag["ref"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.HANDMARKERCLASS, "ha-" + tag["ref"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.HANDCLASS));
|
||||
}),
|
||||
|
||||
// Tradition specific:
|
||||
( ( x, _) => x.Name == "app", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, APPCLASS)); } ),
|
||||
( ( x, _) => x.Name == "app", (sb, tag, _) => { sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.APPCLASS)); } ),
|
||||
( ( x, _) => x.Name == "ZHText", (sb, tag, reader) => {
|
||||
reader.State.sb_tradition.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TRADZHTEXTCLASS));
|
||||
reader.State.sb_tradition.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TRADZHTEXTCLASS));
|
||||
reader.State.active_trad = true;
|
||||
})
|
||||
};
|
||||
@@ -175,6 +112,7 @@ public static class TraditionRules {
|
||||
( ( x, _) => x.Name == "ful", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "sub", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "tul", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "insertion", (sb, tag,_) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)) ),
|
||||
( ( x, _) => x.Name == "header", (sb, tag, reader) => {
|
||||
reader.State.mustwrap = (true, true);
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
@@ -209,9 +147,9 @@ public static class TraditionRules {
|
||||
|
||||
public static readonly TextFuncList TextRules = new TextFuncList() {
|
||||
( ( x, _) => true, (sb, txt, reader) => {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TEXTCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.TEXTCLASS));
|
||||
if (reader.OpenTags.Where(x => x.Name == "del").Any())
|
||||
sb.Append(HttpUtility.HtmlEncode(txt.Value).Replace("–", "<" + DEFAULTELEMENT + " class=\"" + CROSSEDDASHCLASS + "\">–</" + DEFAULTELEMENT + ">"));
|
||||
sb.Append(HttpUtility.HtmlEncode(txt.Value).Replace("–", "<" + DEFAULTELEMENT + " class=\"" + CSSClasses.CROSSEDDASHCLASS + "\">–</" + DEFAULTELEMENT + ">"));
|
||||
else
|
||||
sb.Append(HttpUtility.HtmlEncode(txt.Value));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
@@ -229,7 +167,7 @@ public static class TraditionRules {
|
||||
// This is NOT the beginning of the text, so we set a br, and then, linecount
|
||||
if(reader.State.currline != "-1") {
|
||||
if (!reader.State.mustwrap.Item2)
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement("br", ZHBREAKCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement("br", CSSClasses.ZHBREAKCLASS));
|
||||
else
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement("br"));
|
||||
reader.State.mustwrap = (false, false);
|
||||
@@ -237,23 +175,23 @@ public static class TraditionRules {
|
||||
// Linecount
|
||||
if(!String.IsNullOrWhiteSpace(tag["index"])) {
|
||||
reader.State.currline = tag["index"];
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHLINECOUNTCLASS, reader.State.currpage + "-" + reader.State.currline));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHLINECOUNTCLASS, reader.State.currpage + "-" + reader.State.currline));
|
||||
|
||||
// Fall 1: Neue Seite
|
||||
if (reader.State.currline == "1") {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHPAGECLASS, ""));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHPAGECLASS, ""));
|
||||
sb.Append("S. " + reader.State.currpage);
|
||||
}
|
||||
|
||||
// Fall 2: Neue Zeile, teilbar durch 5
|
||||
else if (Int32.TryParse(tag["index"], out var _) && Int32.Parse(tag["index"]) % 5 == 0) {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHLINECLASS, ""));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHLINECLASS, ""));
|
||||
sb.Append(tag["index"]);
|
||||
}
|
||||
|
||||
// Fall 3: Neue Zeile, nicht teilbar durch 5, deswegen versteckt
|
||||
else {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHLINECLASS + " " + HIDDENZHLINECOUNT, ""));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHLINECLASS + " " + CSSClasses.HIDDENZHLINECOUNT, ""));
|
||||
sb.Append(tag["index"]);
|
||||
}
|
||||
|
||||
@@ -265,7 +203,7 @@ public static class TraditionRules {
|
||||
reader.State.currline = tag["index"];
|
||||
|
||||
// Tradition specifics: the first linecount must be shown
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, ZHLINECOUNTCLASS + " " + FIRSTLINECLASS, reader.State.currpage + "-" + reader.State.currline));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.ZHLINECOUNTCLASS + " " + CSSClasses.FIRSTLINECLASS, reader.State.currpage + "-" + reader.State.currline));
|
||||
sb.Append("S. " + reader.State.currpage + " / " + reader.State.currline);
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
}
|
||||
@@ -278,10 +216,10 @@ public static class TraditionRules {
|
||||
if(reader.State.ParsedMarginals == null) reader.State.ParsedMarginals = new List<(string, string, string)>();
|
||||
var sb2 = new StringBuilder();
|
||||
margs = margs.OrderBy(x => Int32.Parse(x.Index));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, COMMENTMARKERCLASS, "ma-" + reader.State.currpage + "-" + reader.State.currline));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.COMMENTMARKERCLASS, "ma-" + reader.State.currpage + "-" + reader.State.currline));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINALLISTCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.MARGINGALBOXCLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.MARGINALLISTCLASS));
|
||||
foreach (var marginal in margs)
|
||||
{
|
||||
// In Marginal, the Root-Element (<marginal>) is somehow parsed,
|
||||
@@ -301,14 +239,14 @@ public static class TraditionRules {
|
||||
|
||||
// Line type=line
|
||||
if(tag["type"] == "line") {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LINELINECLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LINELINECLASS));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
reader.State.mustwrap = (false, true);
|
||||
}
|
||||
|
||||
// Line tab=
|
||||
if(!String.IsNullOrWhiteSpace(tag["tab"])) {
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LINEINDENTCLASS + tag["tab"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, CSSClasses.LINEINDENTCLASS + tag["tab"]));
|
||||
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT));
|
||||
if (tag["tab"] != "1") reader.State.mustwrap = (false, true);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</noscript>
|
||||
|
||||
<div class="ha-letterheader">
|
||||
@await Html.PartialAsync("/Views/Shared/_LetterHead.cshtml", (Model.MetaData, false))
|
||||
@await Html.PartialAsync("/Views/Shared/_LetterHead.cshtml", (Model.MetaData, false, false))
|
||||
<div class="ha-letterheadernav">
|
||||
<div class="ha-lettertabs">
|
||||
@if (!String.IsNullOrWhiteSpace(Model.ParsedText))
|
||||
@@ -107,7 +107,7 @@
|
||||
class="ha-handto">–@hand.Item2</div>
|
||||
}
|
||||
</td>
|
||||
<td class="ha-handperson">@hand.Item3</td>
|
||||
<td class="ha-handperson">@Html.Raw(@hand.Item3)</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
|
||||
@@ -37,10 +37,9 @@
|
||||
</div>
|
||||
}
|
||||
@if (Model.AllowSearch) {
|
||||
<form class="ha-registersearchform" asp-controller="Register" asp-action="Search" asp-route-id="@string.Empty" method="post" >
|
||||
<input class="ha-registersearchtext" type="text" name="search" placeholder="Suchbegriff..." />
|
||||
<input type="hidden" name="category" value="@Model.Category" />
|
||||
<button class="ha-registersearchbutton" type="submit">Suchen</button>
|
||||
<form asp-controller="Register" asp-action="Search" asp-route-id="@string.Empty" method="GET" >
|
||||
<input type="text" name="search" placeholder="Suchbegriff" />
|
||||
<button type="submit">Suchen</button>
|
||||
</form>
|
||||
}
|
||||
<div class="ha-register-nav" id="ha-register-nav">
|
||||
|
||||
@@ -1,95 +1,20 @@
|
||||
@model (BriefeMetaViewModel Letter, bool ShowZHData)
|
||||
@model (BriefeMetaViewModel Letter, bool ShowZHData, bool Compact)
|
||||
|
||||
<div class="ha-letterhead">
|
||||
@if (!Model.Compact) {
|
||||
<div class="ha-letternumber">
|
||||
<div class="ha-letternumberinline">
|
||||
@Model.Letter.Meta.Autopsic
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="ha-metadata">
|
||||
<div class="ha-metadataupperrow">
|
||||
<div class="ha-metadatadate">
|
||||
@Model.Letter.Meta.Date
|
||||
</div>
|
||||
@if (Model.Letter.HasText) {
|
||||
@if (Model.Letter.ParsedZHString != null && Model.ShowZHData) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
<span>@Html.Raw(Model.Letter.ParsedZHString)</span>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else if (Model.Letter.ParsedZHString == null) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill ha-newpill">
|
||||
<span>Neu</span>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.Letter.Meta.hasOriginal != HaDocument.Models.OptionalBool.True) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
<span class="ha-cross">Orig</span>
|
||||
</div>
|
||||
<div class="ha-tooltiptext">
|
||||
Original verschollen
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
Orig
|
||||
</div>
|
||||
<div class="ha-tooltiptext">
|
||||
Original vorhanden
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.Letter.Meta.isProofread != HaDocument.Models.OptionalBool.True) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
<span class="ha-cross">geprüft</span>
|
||||
</div>
|
||||
<div class="ha-tooltiptext whitespace-nowrap">
|
||||
Noch nicht textkritisch geprüft
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
geprüft
|
||||
</div>
|
||||
<div class="ha-tooltiptext whitespace-nowrap">
|
||||
Textkritisch geprüft
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.Letter.Meta.ZH != null && Model.Letter.Meta.ZH.dateChanged) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
neu datiert
|
||||
</div>
|
||||
<div class="ha-tooltiptext whitespace-nowrap" style="margin-left: -165px;">
|
||||
Der Brief wurde gegenüber der Ausgabe ZH neu datiert
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.Letter.HasMarginals) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
Komm
|
||||
</div>
|
||||
<div class="ha-tooltiptext whitespace-nowrap">
|
||||
Mit Stellenkommentar
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if (!Model.Compact) {
|
||||
@await Html.PartialAsync("/Views/Shared/_Pills.cshtml", (Model.Letter, Model.ShowZHData))
|
||||
}
|
||||
</div>
|
||||
<div class="ha-metadatapersons">
|
||||
|
||||
82
HaWeb/Views/Shared/_Pills.cshtml
Normal file
82
HaWeb/Views/Shared/_Pills.cshtml
Normal file
@@ -0,0 +1,82 @@
|
||||
@model (BriefeMetaViewModel Letter, bool ShowZHData)
|
||||
|
||||
@if (Model.Letter.HasText) {
|
||||
@if (Model.Letter.ParsedZHString != null && Model.ShowZHData) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
<span>@Html.Raw(Model.Letter.ParsedZHString)</span>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else if (Model.Letter.ParsedZHString == null) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill ha-newpill">
|
||||
<span>Neu</span>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.Letter.Meta.hasOriginal != HaDocument.Models.OptionalBool.True) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
<span class="ha-cross">Orig</span>
|
||||
</div>
|
||||
<div class="ha-tooltiptext">
|
||||
Original verschollen
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
Orig
|
||||
</div>
|
||||
<div class="ha-tooltiptext">
|
||||
Original vorhanden
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.Letter.Meta.isProofread != HaDocument.Models.OptionalBool.True) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
<span class="ha-cross">geprüft</span>
|
||||
</div>
|
||||
<div class="ha-tooltiptext whitespace-nowrap">
|
||||
Noch nicht textkritisch geprüft
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
geprüft
|
||||
</div>
|
||||
<div class="ha-tooltiptext whitespace-nowrap">
|
||||
Textkritisch geprüft
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.Letter.Meta.ZH != null && Model.Letter.Meta.ZH.dateChanged) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
neu datiert
|
||||
</div>
|
||||
<div class="ha-tooltiptext whitespace-nowrap" style="margin-left: -165px;">
|
||||
Der Brief wurde gegenüber der Ausgabe ZH neu datiert
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.Letter.HasMarginals) {
|
||||
<div class="ha-tooltip">
|
||||
<div class="ha-pill">
|
||||
Komm
|
||||
</div>
|
||||
<div class="ha-tooltiptext whitespace-nowrap">
|
||||
Mit Stellenkommentar
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
@@ -34,19 +34,36 @@
|
||||
|
||||
<div class="ha-searchbody">
|
||||
<div class="ha-letterlist">
|
||||
|
||||
@* Letter Loop *@
|
||||
@foreach (var year in Model.Letters) {
|
||||
foreach (var letter in year.LetterList) {
|
||||
<a class="ha-letterlistentry" asp-controller="Briefe" asp-action="Index" asp-route-id="@letter.Meta.Autopsic">
|
||||
@await Html.PartialAsync("/Views/Shared/_LetterHead.cshtml", (letter, true))
|
||||
</a>
|
||||
@if (Model.SearchResults != null && Model.SearchResults.ContainsKey(letter.Meta.Index)) {
|
||||
@foreach (var item in Model.SearchResults[letter.Meta.Index])
|
||||
<div class="ha-letterlistentry">
|
||||
<a asp-controller="Briefe" asp-action="Index" asp-route-id="@letter.Meta.Autopsic">
|
||||
<div class="ha-letterlistentryheader">
|
||||
<div class="ha-letterlistautopsic">@letter.Meta.Autopsic</div>
|
||||
<div class="ha-letterlistpills">@await Html.PartialAsync("/Views/Shared/_Pills.cshtml", (letter, true))</div>
|
||||
</div>
|
||||
<div class="ha-letterlistletterdata">
|
||||
@await Html.PartialAsync("/Views/Shared/_LetterHead.cshtml", (letter, true, true))
|
||||
</div>
|
||||
</a>
|
||||
|
||||
@if (Model.SearchResults != null && Model.SearchResults.ContainsKey(letter.Meta.Index)) {
|
||||
<div class="ha-letterlistsearchresults">
|
||||
@foreach (var sr in Model.SearchResults[letter.Meta.Index])
|
||||
{
|
||||
<p>@item.Page / @item.Line: @item.Preview</p>
|
||||
<div class="ha-letterlistsearchresult">
|
||||
<div class="ha-searchresultlocation">
|
||||
@sr.Page/@sr.Line
|
||||
</div>
|
||||
<div class="ha-searchresultpreview">
|
||||
@sr.Preview
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
@@ -153,8 +170,8 @@
|
||||
<a class="ha-reversefilter" asp-controller="Suche" asp-action="index">← Auswahl aufheben</a>
|
||||
}
|
||||
</div>
|
||||
<form class="ha-searchform" id="ha-searchform">
|
||||
<input id="ha-searchformtext" type="text" placeholder="Suchbegriff" value="@Model.ActiveSearch"/>
|
||||
<form class="ha-searchform" id="ha-searchform" asp-controller="Suche" asp-action="Index" method="get">
|
||||
<input id="ha-searchformtext" name="search" type="text" placeholder="Suchbegriff" value="@Model.ActiveSearch"/>
|
||||
<button id="ha-searchformsubmit" type="submit">Suchen</button>
|
||||
</form>
|
||||
</div>
|
||||
@@ -168,21 +185,12 @@
|
||||
button.disabled = false;
|
||||
}
|
||||
|
||||
const SUBMITSEARCH = function(filter) {
|
||||
let f = filter.value;
|
||||
window.location.href = "/Suche?search=" + f;
|
||||
}
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
let searchfilter = document.getElementById("ha-searchformtext");
|
||||
let searchsubmitbtn = document.getElementById("ha-searchformsubmit");
|
||||
let searchform = document.getElementById("ha-searchform");
|
||||
ACTIVATESEARCHFILTER(searchfilter, searchsubmitbtn);
|
||||
searchfilter.addEventListener("input", () => ACTIVATESEARCHFILTER(searchfilter, searchsubmitbtn));
|
||||
searchform.addEventListener("submit", (ev) => {
|
||||
ev.preventDefault();
|
||||
SUBMITSEARCH(searchfilter);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -18,5 +18,5 @@
|
||||
"FileSizeLimit": 52428800,
|
||||
"AvailableStartYear": 1700,
|
||||
"AvailableEndYear": 1800,
|
||||
"LettersOnPage": 90
|
||||
"LettersOnPage": 80
|
||||
}
|
||||
|
||||
@@ -1,25 +1,5 @@
|
||||
@layer components {
|
||||
/* COLORS */
|
||||
.ha-letterhead .ha-metadata .ha-tooltiptext {
|
||||
@apply shadow-sm bg-slate-50 border-hamannSlate-900 text-hamannSlate-900 border dark:border-none dark:shadow dark:bg-slate-800
|
||||
}
|
||||
|
||||
.ha-tooltip .ha-tooltiptext::after {
|
||||
@apply border-t-slate-600 dark:border-t-slate-800 border-l-transparent border-r-transparent border-b-transparent
|
||||
}
|
||||
|
||||
.ha-letterhead .ha-metadata .ha-metadataupperrow .ha-pill {
|
||||
@apply rounded-lg border shadow-inner border-hamannSlate-900 text-hamannSlate-900 dark:text-white dark:bg-slate-800 dark:shadow-md dark:border-slate-400
|
||||
}
|
||||
|
||||
.ha-letterhead .ha-metadata .ha-metadataupperrow .ha-pill.ha-newpill {
|
||||
@apply dark:text-white dark:bg-slate-800 dark:shadow-md dark:border-slate-400
|
||||
}
|
||||
|
||||
.ha-letterhead .ha-metadata .ha-metadataupperrow .ha-pill .ha-cross::before {
|
||||
@apply border-b-2 border-hamannSlate-900 dark:border-gray-200
|
||||
}
|
||||
|
||||
.ha-letterheader {
|
||||
@apply bg-slate-50 dark:bg-slate-900 dark:text-slate-50 border-slate-300 dark:border-slate-50 border-b-2 dark:shadow-xl
|
||||
}
|
||||
@@ -135,7 +115,7 @@
|
||||
}
|
||||
|
||||
.ha-lettertext {
|
||||
@apply max-w-[38rem] desktop:max-w-[45rem] sm:shrink-0 ml-4 sm:ml-12 px-4 pt-4 pb-8 relative flow-root font-serif leading-[1.48] numeric-mediaeval
|
||||
@apply max-w-[38rem] desktop:max-w-[52rem] sm:shrink-0 ml-4 sm:ml-12 px-4 pt-4 pb-8 relative flow-root font-serif leading-[1.48] numeric-mediaeval
|
||||
}
|
||||
|
||||
.ha-marginals {
|
||||
|
||||
@@ -1,6 +1,24 @@
|
||||
@layer components {
|
||||
/* COLORS */
|
||||
.ha-tooltiptext {
|
||||
@apply shadow-sm bg-slate-50 border-hamannSlate-900 text-hamannSlate-900 border dark:border-none dark:shadow dark:bg-slate-800
|
||||
}
|
||||
|
||||
.ha-tooltip .ha-tooltiptext::after {
|
||||
@apply border-t-slate-600 dark:border-t-slate-800 border-l-transparent border-r-transparent border-b-transparent
|
||||
}
|
||||
|
||||
.ha-pill {
|
||||
@apply rounded-lg border shadow-inner bg-slate-50 border-hamannSlate-900 text-hamannSlate-900 dark:text-white dark:bg-slate-800 dark:shadow-md dark:border-slate-400
|
||||
}
|
||||
|
||||
.ha-pill.ha-newpill {
|
||||
@apply dark:text-white dark:bg-slate-800 dark:shadow-md dark:border-slate-400
|
||||
}
|
||||
|
||||
.ha-pill .ha-cross::before {
|
||||
@apply border-b-2 border-hamannSlate-900 dark:border-gray-200
|
||||
}
|
||||
|
||||
/* STYLES */
|
||||
.ha-letterhead {
|
||||
@@ -27,28 +45,28 @@
|
||||
@apply flex caps-petite numeric-mediaeval whitespace-nowrap
|
||||
}
|
||||
|
||||
.ha-letterhead .ha-metadata .ha-tooltip {
|
||||
.ha-tooltip {
|
||||
@apply self-center cursor-default inline-block relative
|
||||
}
|
||||
|
||||
.ha-letterhead .ha-metadata .ha-tooltiptext {
|
||||
.ha-tooltiptext {
|
||||
@apply rounded text-sm px-1 py-0.5 absolute z-10 text-center
|
||||
}
|
||||
|
||||
.ha-letterhead .ha-metadata .ha-tooltiptext::after {
|
||||
.ha-tooltiptext::after {
|
||||
@apply absolute top-full left-1/2
|
||||
}
|
||||
|
||||
.ha-letterhead .ha-metadata .ha-metadataupperrow .ha-pill {
|
||||
@apply text-xs rounded px-1.5 ml-2 py-0.5 leading-none tracking-wide whitespace-nowrap
|
||||
.ha-pill {
|
||||
@apply text-xs rounded px-1.5 ml-1.5 py-0.5 leading-none tracking-wide whitespace-nowrap
|
||||
}
|
||||
|
||||
.ha-letterhead .ha-metadata .ha-metadataupperrow .ha-pill .ha-cross {
|
||||
.ha-pill .ha-cross {
|
||||
@apply relative inline-block
|
||||
}
|
||||
|
||||
.ha-letterhead .ha-metadata .ha-metadataupperrow .ha-pill .ha-cross::before,
|
||||
.ha-letterhead .ha-metadata .ha-metadataupperrow .ha-pill .ha-cross::after {
|
||||
.ha-pill .ha-cross::before,
|
||||
.ha-pill .ha-cross::after {
|
||||
@apply w-full h-0 absolute right-0 top-1/2
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -102,6 +102,18 @@
|
||||
@apply pl-1 pr-2 leading-none pt-1
|
||||
}
|
||||
|
||||
.ha-register .ha-register-head form {
|
||||
@apply -mt-1 mb-6 font-sans
|
||||
}
|
||||
|
||||
.ha-register .ha-register-head form input {
|
||||
@apply px-1 border
|
||||
}
|
||||
|
||||
.ha-register .ha-register-head form button {
|
||||
@apply px-1 border
|
||||
}
|
||||
|
||||
.ha-register .ha-register-head .ha-register-nav {
|
||||
@apply font-sans
|
||||
}
|
||||
|
||||
@@ -32,7 +32,43 @@
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry:not(:first-child) {
|
||||
@apply block mt-4
|
||||
@apply mt-4
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry {
|
||||
@apply block border
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry .ha-letterlistentryheader {
|
||||
@apply border-b flex flex-row py-1 px-2 bg-slate-100
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry .ha-letterlistentryheader .ha-letterlistautopsic {
|
||||
@apply text-3xl font-bold grow
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry .ha-letterlistentryheader .ha-letterlistpills {
|
||||
@apply grow-0
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry .ha-letterlistletterdata {
|
||||
@apply px-2 py-1
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry .ha-letterlistsearchresults {
|
||||
@apply px-2 py-1
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry .ha-letterlistsearchresults .ha-letterlistsearchresult {
|
||||
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry .ha-letterlistsearchresults .ha-letterlistsearchresult .ha-searchresultlocation {
|
||||
@apply numeric-mediaeval font-semibold text-sm inline-block
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-letterlist .ha-letterlistentry .ha-letterlistsearchresults .ha-letterlistsearchresult .ha-searchresultpreview {
|
||||
@apply inline-block pl-2
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-filterlist {
|
||||
@@ -51,22 +87,22 @@
|
||||
@apply inline-block text-sm ml-2
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-filterlist .ha-gotofilter {
|
||||
@apply flex flex-row bg-slate-100
|
||||
}
|
||||
/* .ha-search .ha-searchbody .ha-filterlist .ha-gotofilter {
|
||||
@apply bg-slate-100
|
||||
} */
|
||||
|
||||
.ha-search .ha-searchbody .ha-filterlist .ha-gotofilter .ha-filtertitle {
|
||||
/* .ha-search .ha-searchbody .ha-filterlist .ha-gotofilter .ha-filtertitle {
|
||||
@apply inline-block border-none
|
||||
} */
|
||||
|
||||
.ha-search .ha-searchbody .ha-filterlist .ha-gotofilter form {
|
||||
@apply font-sans py-2 px-3 bg-slate-50
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-filterlist .ha-gotofilter form .ha-gototext {
|
||||
@apply inline-block font-sans mr-2
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-filterlist .ha-gotofilter form {
|
||||
@apply inline-block font-sans py-2 pr-2 grow
|
||||
}
|
||||
|
||||
.ha-search .ha-searchbody .ha-filterlist .ha-gotofilter form input {
|
||||
@apply w-14 px-1 border
|
||||
}
|
||||
|
||||
@@ -123,16 +123,19 @@
|
||||
@apply italic
|
||||
}
|
||||
|
||||
.ha-sup,
|
||||
.ha-sup *:not(.ha-linecount *, .ha-linecount, .ha-marginalbox *, .ha-marginalbox, .ha-marginal, .ha-marginal *, .ha-btn-collapsed-box) {
|
||||
@apply relative -top-[0.3em] text-[80%]
|
||||
}
|
||||
|
||||
/* TODO: Something dooesnt work here */
|
||||
.ha-super {
|
||||
.ha-super,
|
||||
.ha-super *:not(.ha-linecount *, .ha-linecount, .ha-marginalbox *, .ha-marginalbox, .ha-marginal, .ha-marginal *, .ha-btn-collapsed-box) {
|
||||
@apply numeric-normal relative text-xs leading-none align-baseline -top-[0.3em]
|
||||
}
|
||||
|
||||
.ha-sub {
|
||||
.ha-sub,
|
||||
.ha-sub *:not(.ha-linecount *, .ha-linecount, .ha-marginalbox *, .ha-marginalbox, .ha-marginal, .ha-marginal *, .ha-btn-collapsed-box) {
|
||||
@apply relative text-xs leading-none align-baseline -bottom-[0.25em]
|
||||
}
|
||||
|
||||
@@ -160,7 +163,7 @@
|
||||
}
|
||||
|
||||
.ha-aligncenter {
|
||||
@apply absolute left-1/2 whitespace-nowrap -translate-x-1/2
|
||||
@apply absolute left-[45%] whitespace-nowrap -translate-x-1/2
|
||||
}
|
||||
|
||||
.ha-lineline {
|
||||
@@ -171,6 +174,10 @@
|
||||
@apply inline-block ml-6
|
||||
}
|
||||
|
||||
.ha-letlink {
|
||||
@apply caps-allpetite
|
||||
}
|
||||
|
||||
/* Classes for indents */
|
||||
.ha-indent-1 {
|
||||
@apply pl-2 sm:pl-4
|
||||
@@ -210,6 +217,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
.ha-insertion::before {
|
||||
content: "\2E02";
|
||||
}
|
||||
|
||||
.ha-insertion::after {
|
||||
content: "\2E03";
|
||||
}
|
||||
|
||||
.ha-nr::before {
|
||||
content: " \200E\25E6";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user