From 6433fa7c017943e0141af6235539cd2063784d67 Mon Sep 17 00:00:00 2001 From: schnulller Date: Thu, 26 May 2022 17:18:50 +0200 Subject: [PATCH] Added more responisiveness to Letter View; TODO: copy letterrules to traditionrules --- HaWeb/Controllers/BriefeContoller.cs | 2 +- HaWeb/HTMLHelpers/LetterHelpers.cs | 7 +- HaWeb/Settings/CSSClassesSettings.cs | 5 + HaWeb/Settings/ParsingRules/LetterRules.cs | 22 ++- HaWeb/Settings/ParsingRules/TraditionRules.cs | 10 +- HaWeb/Settings/ParsingState/LetterState.cs | 7 +- HaWeb/Views/Briefe/Index.cshtml | 10 +- HaWeb/tailwind.config.js | 2 +- HaWeb/wwwroot/css/output.css | 149 +++++++++++++----- HaWeb/wwwroot/css/site.css | 62 +++++--- HaWeb/wwwroot/js/site.js | 4 +- 11 files changed, 200 insertions(+), 80 deletions(-) diff --git a/HaWeb/Controllers/BriefeContoller.cs b/HaWeb/Controllers/BriefeContoller.cs index c98b4bb..06b752c 100644 --- a/HaWeb/Controllers/BriefeContoller.cs +++ b/HaWeb/Controllers/BriefeContoller.cs @@ -61,7 +61,7 @@ public class Briefecontroller : Controller if (hands != null && hands.Any()) model.ParsedHands = HaWeb.HTMLHelpers.LetterHelpers.CreateHands(_lib, hands); if (editreasons != null && editreasons.Any()) model.ParsedEdits = HaWeb.HTMLHelpers.LetterHelpers.CreateEdits(_lib, _readerService, editreasons); if (tradition != null && !String.IsNullOrWhiteSpace(tradition.Element)) model.ParsedTradition = HaWeb.HTMLHelpers.LetterHelpers.CreateTraditions(_lib, _readerService, marginals, tradition); - if (text != null && !String.IsNullOrWhiteSpace(text.Element)) model.ParsedText = HaWeb.HTMLHelpers.LetterHelpers.CreateLetter(_lib, _readerService, meta, text, marginals); + if (text != null && !String.IsNullOrWhiteSpace(text.Element)) model.ParsedText = HaWeb.HTMLHelpers.LetterHelpers.CreateLetter(_lib, _readerService, meta, text, marginals, hands, editreasons); // Return return View(model); diff --git a/HaWeb/HTMLHelpers/LetterHelpers.cs b/HaWeb/HTMLHelpers/LetterHelpers.cs index 3219645..ffd3661 100644 --- a/HaWeb/HTMLHelpers/LetterHelpers.cs +++ b/HaWeb/HTMLHelpers/LetterHelpers.cs @@ -13,10 +13,10 @@ using HaWeb.Settings.ParsingRules; public static class LetterHelpers { - public static string CreateLetter(ILibrary lib, IReaderService readerService, Meta meta, Letter letter, IEnumerable? marginals) + public static string CreateLetter(ILibrary lib, IReaderService readerService, Meta meta, Letter letter, IEnumerable? marginals, IEnumerable? hands, IEnumerable? edits) { var rd = readerService.RequestStringReader(letter.Element); - var letterState = new LetterState(lib, readerService, meta, marginals); + var letterState = new LetterState(lib, readerService, meta, marginals, hands, edits); new HaWeb.HTMLParser.XMLHelper(letterState, rd, letterState.sb_lettertext, LetterRules.OTagRules, LetterRules.STagRules, LetterRules.CTagRules, LetterRules.TextRules, LetterRules.WhitespaceRules); // new HaWeb.HTMLParser.XMLHelper(letterState, rd, letterState.sb_lettertext, null, LetterRules.STagRulesLineCount); @@ -63,7 +63,8 @@ public static class LetterHelpers new HaWeb.HTMLParser.XMLHelper(editsState, rd, sb2, EditRules.OTagRules, null, EditRules.CTagRules, EditRules.TextRules, EditRules.WhitespaceRules); rd.Read(); sb2.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement("span")); - if ((edit.StartPage != edit.EndPage || edit.StartLine != edit.EndLine) && XElement.Parse(sb2.ToString()).Value.ToString().Length >= 60) + // Old: (edit.StartPage != edit.EndPage || edit.StartLine != edit.EndLine) && + if (XElement.Parse(sb2.ToString()).Value.ToString().Length >= 20) { var text = XElement.Parse(sb2.ToString()).Value.ToString(); text = text.ToString().Split(' ').Take(1).First() + " […] " + text.ToString().Split(' ').TakeLast(1).First(); diff --git a/HaWeb/Settings/CSSClassesSettings.cs b/HaWeb/Settings/CSSClassesSettings.cs index 59fcde6..79ff31c 100644 --- a/HaWeb/Settings/CSSClassesSettings.cs +++ b/HaWeb/Settings/CSSClassesSettings.cs @@ -72,6 +72,11 @@ public static class CSSClasses { public const string FIRSTPAGECLASS = "ha-firstpage"; public const string EMPTYLINECLASS = "ha-emptyline"; + // Marker + public const string EDITMARKERCLASS = "ha-editmarker"; + public const string COMMENTMARKERCLASS = "ha-commentmarker"; + public const string HANDMARKERCLASS = "ha-handmarker"; + // TODO Classes used in Razor Pages: diff --git a/HaWeb/Settings/ParsingRules/LetterRules.cs b/HaWeb/Settings/ParsingRules/LetterRules.cs index 8613681..3f494cc 100644 --- a/HaWeb/Settings/ParsingRules/LetterRules.cs +++ b/HaWeb/Settings/ParsingRules/LetterRules.cs @@ -64,6 +64,11 @@ public class LetterRules 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() { @@ -101,12 +106,20 @@ public class LetterRules ( ( 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 == "marginal", (sb, tag, reader) => { - sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINALCLASS)); + sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINALCLASS, "m-" + tag["index"])); 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 == "tab" && !String.IsNullOrWhiteSpace(x["value"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, 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.CreateEndElement(DEFAULTELEMENT)); + }), + ( ( x, _) => x.Name == "hand", (sb, tag, _) => { + sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDMARKERCLASS, "ha-" + tag["ref"])); + sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)); + sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDCLASS)); + }) }; public static readonly TagFuncList CTagRules = new TagFuncList() { @@ -221,6 +234,9 @@ public class LetterRules sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS)); foreach (var marginal in margs) { + sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, COMMENTMARKERCLASS, "ma-" + marginal.Index)); + sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)); + // In Marginal, the Root-Element () is somehow parsed, // so we don't need to enclose it in a seperate div. var rd = reader.State.ReaderService.RequestStringReader(marginal.Element); diff --git a/HaWeb/Settings/ParsingRules/TraditionRules.cs b/HaWeb/Settings/ParsingRules/TraditionRules.cs index 78f6eeb..1004f3e 100644 --- a/HaWeb/Settings/ParsingRules/TraditionRules.cs +++ b/HaWeb/Settings/ParsingRules/TraditionRules.cs @@ -44,7 +44,6 @@ public static class TraditionRules 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; @@ -70,6 +69,12 @@ public static class TraditionRules 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() { @@ -236,6 +241,9 @@ public static class TraditionRules sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS)); foreach (var marginal in margs) { + sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, COMMENTMARKERCLASS, marginal.Index)); + sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)); + // In Marginal, the Root-Element () is somehow parsed, // so we don't need to enclose it in a seperate div. if (marginal.Element != null) { diff --git a/HaWeb/Settings/ParsingState/LetterState.cs b/HaWeb/Settings/ParsingState/LetterState.cs index 3f3823d..29cbaa3 100644 --- a/HaWeb/Settings/ParsingState/LetterState.cs +++ b/HaWeb/Settings/ParsingState/LetterState.cs @@ -16,6 +16,8 @@ public class LetterState : HaWeb.HTMLParser.IState { internal Meta Meta; internal IEnumerable? Marginals; + internal IEnumerable? Hands; + internal IEnumerable? Edits; // State internal bool active_del; @@ -27,12 +29,13 @@ public class LetterState : HaWeb.HTMLParser.IState { internal StringBuilder sb_lettertext; - public LetterState(ILibrary lib, IReaderService readerService, Meta meta, IEnumerable? marginals) { + public LetterState(ILibrary lib, IReaderService readerService, Meta meta, IEnumerable? marginals, IEnumerable? hands, IEnumerable? edits) { Lib = lib; ReaderService = readerService; Meta = meta; Marginals = marginals; - + Hands = hands; + Edits = edits; SetupState(); } diff --git a/HaWeb/Views/Briefe/Index.cshtml b/HaWeb/Views/Briefe/Index.cshtml index 43bdf59..dde3338 100644 --- a/HaWeb/Views/Briefe/Index.cshtml +++ b/HaWeb/Views/Briefe/Index.cshtml @@ -62,16 +62,14 @@ @if (Model.ParsedEdits != null) {
Textkritische Anmerkungen
+
Der Brieftext wurde anhand der überlieferten Quellen (vgl. Provenienz) kritisch geprüft. Notwendige Korrekturen gegenüber dem in ZH gedruckten Text wurden vorgenommen und sind vollständig annotiert. Die in den beiden Auflagen von ZH angehängten Korrekturvorschläge werden vollständig aufgelistet, werden aber nur dann im Text realisiert, sofern diese anhand überlieferter Quellen verifiziert werden konnten.
@foreach (var edit in Model.ParsedEdits) { - + diff --git a/HaWeb/tailwind.config.js b/HaWeb/tailwind.config.js index 6501724..2cbbc6f 100644 --- a/HaWeb/tailwind.config.js +++ b/HaWeb/tailwind.config.js @@ -12,7 +12,7 @@ module.exports = { }, screens: { 'sm': '786px', - 'md': '1024px', + 'md': '960px', 'desktop': '1190px', 'xl': '1440px', '2xl': '1680px', diff --git a/HaWeb/wwwroot/css/output.css b/HaWeb/wwwroot/css/output.css index ea7708e..c8fed6e 100644 --- a/HaWeb/wwwroot/css/output.css +++ b/HaWeb/wwwroot/css/output.css @@ -488,7 +488,7 @@ body { display: flex; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-topnav { font-size: 1.125rem; line-height: 1.75rem; @@ -615,7 +615,7 @@ body { line-height: 1.75rem; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-footer { padding: 1rem; } @@ -657,7 +657,7 @@ body { hyphens: auto; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-static { padding-left: 4rem; padding-right: 4rem; @@ -799,7 +799,7 @@ body { padding-top: 2.25rem; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-register .ha-register-head, .ha-register .ha-register-body { padding-left: 4rem; padding-right: 4rem; @@ -846,7 +846,7 @@ body { color: rgb(15 23 42 / var(--tw-text-opacity)); } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-register .ha-register-head .ha-register-nav a { margin-right: 0.75rem; } @@ -874,7 +874,7 @@ body { padding-bottom: 2.25rem; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-register .ha-register-body { padding-right: 24rem; padding-bottom: 3rem; @@ -886,7 +886,7 @@ body { display: block; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-register .ha-register-body .ha-comment { margin-bottom: 3rem; } @@ -946,7 +946,7 @@ body { text-indent: -1rem; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-register .ha-forschung .ha-register-body .ha-comment { margin-bottom: 1.5rem; } @@ -965,7 +965,7 @@ body { font-variant-caps: all-petite-caps; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-register .ha-register-body .ha-comment .ha-commenthead .ha-letlinks { font-size: 0.875rem; line-height: 1.25rem; @@ -1163,7 +1163,7 @@ body { padding-top: 2rem; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-letterheader { padding-left: 4rem; padding-right: 4rem; @@ -1197,7 +1197,7 @@ body { color: rgb(15 23 42 / var(--tw-text-opacity)); } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-letterheader .ha-lettertabs a { margin-right: 0.75rem; } @@ -1342,11 +1342,11 @@ body { .ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox { position: absolute; - right: -28rem; + right: -21rem; margin-right: 1rem; margin-top: 0.25rem; - display: flex; - width: 24rem; + display: none; + width: 19rem; flex-wrap: wrap; border-radius: 0.125rem; border-left-width: 2px; @@ -1365,6 +1365,19 @@ body { hyphens: auto; } +@media (min-width: 960px) { + .ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox { + display: flex; + } +} + +@media (min-width: 1190px) { + .ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox { + right: -28rem; + width: 24rem; + } +} + .ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox .ha-marginal { display: inline-block; } @@ -1411,7 +1424,7 @@ body { .ha-additions .ha-tradition .ha-tradzhtext .ha-btn-collapsed-box { position: absolute; - right: -2.5rem; + right: -0.5rem; margin-top: 2px; display: none; cursor: pointer; @@ -1425,12 +1438,18 @@ body { color: rgb(15 23 42 / var(--tw-text-opacity)); } -@media (min-width: 1190px) { +@media (min-width: 960px) { .ha-additions .ha-tradition .ha-tradzhtext .ha-btn-collapsed-box { display: block; } } +@media (min-width: 1190px) { + .ha-additions .ha-tradition .ha-tradzhtext .ha-btn-collapsed-box { + right: -2.5rem; + } +} + .ha-additions .ha-hands { padding-top: 1.5rem; } @@ -1457,9 +1476,13 @@ body { font-weight: 700; } -.ha-additions .ha-edits .ha-editentries .ha-editfrom, .ha-additions .ha-edits .ha-editentries .ha-editto { +.ha-additions .ha-edits .ha-editentries .ha-editfromto { + white-space: nowrap; +} + +.ha-additions .ha-edits .ha-editentries .ha-editfrom, .ha-additions .ha-edits .ha-editentries .ha-editto { + display: inline; white-space: nowrap; - padding-left: 0.25rem; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; @@ -1481,9 +1504,13 @@ body { font-weight: 700; } -.ha-additions .ha-edits .ha-editentries td { - padding-right: 1rem; - vertical-align: top; +.ha-additions .ha-edits .ha-editsinfo { + margin-right: 18rem; + padding-bottom: 1rem; +} + +.ha-additions .ha-edits .ha-editentries tr td { + vertical-align: text-top; } .ha-additions .ha-edits .ha-editentries .ha-editreas div { @@ -1492,14 +1519,31 @@ body { } .ha-additions .ha-edits .ha-editentries table { - width: 100%; + /* @apply w-full */ } -.ha-additions .ha-edits .ha-editentries table tr:nth-child(even) { - --tw-bg-opacity: 1; - background-color: rgb(226 232 240 / var(--tw-bg-opacity)); +.ha-additions .ha-edits .ha-editentries tr td:nth-of-type(1) { + padding-right: 0.25rem; + padding-left: 0.25rem; + text-align: right; } +.ha-additions .ha-edits .ha-editentries tr td:nth-of-type(2) { + border-right-width: 2px; + padding-left: 0.25rem; + padding-right: 0.75rem; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.ha-additions .ha-edits .ha-editentries tr td:nth-of-type(3) { + padding-left: 0.75rem; +} + +/* .ha-additions .ha-edits .ha-editentries table tr:nth-child(even) { + @apply bg-slate-200 + } */ + .ha-additions .ha-edits .ha-editentries .ha-editreas .ha-zh * { font-family: Libertine, serif !important; } @@ -1548,11 +1592,11 @@ body { .ha-lettertext .ha-marginalbox { position: absolute; - right: -28rem; + right: -21rem; margin-right: 1rem; margin-top: 0.25rem; - display: flex; - width: 24rem; + display: none; + width: 19rem; flex-wrap: wrap; border-radius: 0.125rem; border-left-width: 2px; @@ -1571,6 +1615,19 @@ body { hyphens: auto; } +@media (min-width: 960px) { + .ha-lettertext .ha-marginalbox { + display: flex; + } +} + +@media (min-width: 1190px) { + .ha-lettertext .ha-marginalbox { + right: -28rem; + width: 24rem; + } +} + .ha-lettertext .ha-marginalbox .ha-marginal { display: inline-block; } @@ -1604,7 +1661,7 @@ body { .ha-lettertext .ha-btn-collapsed-box { position: absolute; - right: -2.5rem; + right: -0.5rem; margin-top: 2px; display: none; cursor: pointer; @@ -1618,12 +1675,18 @@ body { color: rgb(15 23 42 / var(--tw-text-opacity)); } -@media (min-width: 1190px) { +@media (min-width: 960px) { .ha-lettertext .ha-btn-collapsed-box { display: block; } } +@media (min-width: 1190px) { + .ha-lettertext .ha-btn-collapsed-box { + right: -2.5rem; + } +} + /* Classes from the General parser */ /* Classes from .NET */ @@ -1657,26 +1720,26 @@ body { font-family: Libertine, serif; } -.ha-aq, .ha-aq * :not(.ha-marginal *, .ha-marginal) { +.ha-aq, .ha-aq * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { font-family: Biolinum, sans-serif; } -.ha-ul, .ha-ul * :not(.ha-marginal *, .ha-marginal) { +.ha-ul, .ha-ul * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { -webkit-text-decoration-line: underline; text-decoration-line: underline; } -.ha-del, .ha-del * :not(.ha-marginal *, .ha-marginal) { +.ha-del, .ha-del * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { -webkit-text-decoration-line: line-through; text-decoration-line: line-through; } -.ha-hand, .ha-hand * :not(.ha-marginal *, .ha-marginal) { +.ha-hand, .ha-hand * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { font-family: Playfair, serif; font-size: 0.9rem; } -.ha-added, .ha-added * :not(.ha-marginal *, .ha-marginal) { +.ha-added, .ha-added * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { border-radius: 0.125rem; --tw-bg-opacity: 1; background-color: rgb(203 213 225 / var(--tw-bg-opacity)); @@ -1684,7 +1747,7 @@ body { padding-right: 0.25rem; } -.ha-note, .ha-note * :not(.ha-marginal *, .ha-marginal) { +.ha-note, .ha-note * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { font-style: italic; --tw-text-opacity: 1; color: rgb(51 65 85 / var(--tw-text-opacity)); @@ -1717,7 +1780,7 @@ body { line-height: 1; } -.ha-ful, .ha-ful * :not(.ha-marginal *, .ha-marginal) { +.ha-ful, .ha-ful * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { display: inline; border-bottom-width: 1px; --tw-border-opacity: 1; @@ -1725,14 +1788,14 @@ body { padding-bottom: 2px; } -.ha-dul, .ha-dul * :not(.ha-marginal *, .ha-marginal) { +.ha-dul, .ha-dul * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { -webkit-text-decoration-line: underline; text-decoration-line: underline; -webkit-text-decoration-style: double; text-decoration-style: double; } -.ha-tul, .ha-tul * :not(.ha-marginal *, .ha-marginal) { +.ha-tul, .ha-tul * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { border-bottom-width: 3px; border-style: double; --tw-border-opacity: 1; @@ -1796,7 +1859,7 @@ body { line-height: 1.5rem; } -@media (min-width: 1024px) { +@media (min-width: 960px) { .ha-topnav.ha-topnav-collapsed { font-size: 1.125rem; line-height: 1.75rem; @@ -2295,6 +2358,10 @@ body { content: ']'; } +.ha-additions .ha-edits .ha-editentries tr td:nth-of-type(2)::after { + content: ']'; +} + * { -webkit-text-decoration-skip-ink: all; text-decoration-skip-ink: all; @@ -3065,7 +3132,7 @@ body { } } -@media (min-width: 1024px) { +@media (min-width: 960px) { .md\:inline { display: inline; } diff --git a/HaWeb/wwwroot/css/site.css b/HaWeb/wwwroot/css/site.css index 10f6949..cb22f9a 100644 --- a/HaWeb/wwwroot/css/site.css +++ b/HaWeb/wwwroot/css/site.css @@ -461,7 +461,7 @@ } .ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox { - @apply absolute -right-[28rem] w-[24rem] text-sm border-l-2 border-slate-300 leading-tight pl-2 bg-slate-50 mr-4 pr-1 hyphenate mt-1 rounded-sm font-sans flex flex-wrap + @apply absolute -right-[21rem] desktop:-right-[28rem] w-[19rem] desktop:w-[24rem] text-sm border-l-2 border-slate-300 leading-tight pl-2 bg-slate-50 mr-4 pr-1 hyphenate mt-1 rounded-sm font-sans hidden md:flex flex-wrap } .ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox .ha-marginal { @@ -485,7 +485,7 @@ } .ha-additions .ha-tradition .ha-tradzhtext .ha-btn-collapsed-box { - @apply hidden desktop:block absolute text-slate-600 hover:text-slate-900 cursor-pointer -right-[2.5rem] leading-none mt-[2px] + @apply hidden md:block absolute text-slate-600 hover:text-slate-900 cursor-pointer -right-[0.5rem] desktop:-right-[2.5rem] leading-none mt-[2px] } .ha-additions .ha-hands { @@ -496,7 +496,6 @@ @apply font-bold } - .ha-additions .ha-hands .ha-handentries .ha-handfrom, .ha-additions .ha-hands .ha-handentries .ha-handto { @apply inline text-sm font-semibold whitespace-nowrap @@ -510,10 +509,13 @@ @apply font-bold } + .ha-additions .ha-edits .ha-editentries .ha-editfromto { + @apply whitespace-nowrap + } .ha-additions .ha-edits .ha-editentries .ha-editfrom, .ha-additions .ha-edits .ha-editentries .ha-editto { - @apply text-sm font-semibold pl-1 whitespace-nowrap + @apply inline text-sm font-semibold whitespace-nowrap } .ha-additions .ha-edits .ha-editentries .ha-editreference { @@ -532,8 +534,12 @@ @apply font-bold } - .ha-additions .ha-edits .ha-editentries td { - @apply pr-4 align-top + .ha-additions .ha-edits .ha-editsinfo { + @apply mr-72 pb-4 + } + + .ha-additions .ha-edits .ha-editentries tr td { + @apply align-text-top } .ha-additions .ha-edits .ha-editentries .ha-editreas div { @@ -541,13 +547,25 @@ } .ha-additions .ha-edits .ha-editentries table { - @apply w-full + /* @apply w-full */ } - .ha-additions .ha-edits .ha-editentries table tr:nth-child(even) { - @apply bg-slate-200 + .ha-additions .ha-edits .ha-editentries tr td:nth-of-type(1) { + @apply pr-1 pl-1 text-right } + .ha-additions .ha-edits .ha-editentries tr td:nth-of-type(2) { + @apply border-r-2 pl-1 pr-3 text-sm + } + + .ha-additions .ha-edits .ha-editentries tr td:nth-of-type(3) { + @apply pl-3 + } + + /* .ha-additions .ha-edits .ha-editentries table tr:nth-child(even) { + @apply bg-slate-200 + } */ + .ha-additions .ha-edits .ha-editentries .ha-editreas .ha-zh * { @apply !font-serif } @@ -578,7 +596,7 @@ } .ha-lettertext .ha-marginalbox { - @apply absolute -right-[28rem] w-[24rem] text-sm border-l-2 border-slate-300 leading-tight pl-2 bg-slate-50 mr-4 pr-1 hyphenate mt-1 rounded-sm font-sans flex flex-wrap + @apply absolute -right-[21rem] desktop:-right-[28rem] w-[19rem] desktop:w-[24rem] text-sm border-l-2 border-slate-300 leading-tight pl-2 bg-slate-50 mr-4 pr-1 hyphenate mt-1 rounded-sm font-sans hidden md:flex flex-wrap } .ha-lettertext .ha-marginalbox .ha-marginal { @@ -602,7 +620,7 @@ } .ha-lettertext .ha-btn-collapsed-box { - @apply hidden desktop:block absolute text-slate-700 hover:text-slate-900 cursor-pointer -right-[2.5rem] leading-none mt-[2px] + @apply hidden md:block absolute text-slate-700 hover:text-slate-900 cursor-pointer -right-[0.5rem] desktop:-right-[2.5rem] leading-none mt-[2px] } @@ -636,32 +654,32 @@ } .ha-aq, - .ha-aq * :not(.ha-marginal *, .ha-marginal) { + .ha-aq * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { @apply font-sans } .ha-ul, - .ha-ul * :not(.ha-marginal *, .ha-marginal) { + .ha-ul * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { @apply underline } .ha-del, - .ha-del * :not(.ha-marginal *, .ha-marginal) { + .ha-del * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { @apply line-through } .ha-hand, - .ha-hand * :not(.ha-marginal *, .ha-marginal) { + .ha-hand * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { @apply font-classy text-[0.9rem] } .ha-added, - .ha-added * :not(.ha-marginal *, .ha-marginal) { + .ha-added * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { @apply bg-slate-300 px-1 rounded-sm } .ha-note, - .ha-note * :not(.ha-marginal *, .ha-marginal) { + .ha-note * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { @apply italic text-slate-700 } @@ -679,17 +697,17 @@ } .ha-ful, - .ha-ful * :not(.ha-marginal *, .ha-marginal) { + .ha-ful * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { @apply inline border-b border-black pb-[2px] } .ha-dul, - .ha-dul * :not(.ha-marginal *, .ha-marginal) { + .ha-dul * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { @apply underline decoration-double } .ha-tul, - .ha-tul * :not(.ha-marginal *, .ha-marginal) { + .ha-tul * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) { @apply underline border-b-[3px] border-double border-black } @@ -814,6 +832,10 @@ content: ']'; } +.ha-additions .ha-edits .ha-editentries tr td:nth-of-type(2)::after { + content: ']'; +} + * { text-decoration-skip-ink: all; } diff --git a/HaWeb/wwwroot/js/site.js b/HaWeb/wwwroot/js/site.js index 3fd9223..08405f9 100644 --- a/HaWeb/wwwroot/js/site.js +++ b/HaWeb/wwwroot/js/site.js @@ -205,6 +205,6 @@ window.addEventListener("load", function () { overlappingcollapsebox(".ha-neuzeit .ha-letlinks", true); overlappingcollapsebox(".ha-forschung .ha-letlinks", true); overlappingcollapsebox(".ha-lettertext .ha-marginalbox", true); - showhidebutton("ha-lettertextbtn", "ha-additionsbtn", "ha-additions", "ha-lettertext", true); - showhidebutton("ha-additionsbtn", "ha-lettertextbtn", "ha-lettertext", "ha-additions", false); + showhidebutton("ha-lettertextbtn", "ha-additionsbtn", "ha-additions", "ha-lettertext", false); + showhidebutton("ha-additionsbtn", "ha-lettertextbtn", "ha-lettertext", "ha-additions", true); });
-
@edit.Item1
- @if (!String.IsNullOrEmpty(edit.Item2)) { -
–@edit.Item2
- } -
+
@edit.Item1
@if (!String.IsNullOrEmpty(edit.Item2)) {
–@edit.Item2
+ }
@Html.Raw(@edit.Item3) @Html.Raw(@edit.Item4)