Added more responisiveness to Letter View; TODO: copy letterrules to traditionrules

This commit is contained in:
schnulller
2022-05-26 17:18:50 +02:00
parent 469a2e256e
commit 6433fa7c01
11 changed files with 200 additions and 80 deletions

View File

@@ -61,7 +61,7 @@ public class Briefecontroller : Controller
if (hands != null && hands.Any()) model.ParsedHands = HaWeb.HTMLHelpers.LetterHelpers.CreateHands(_lib, hands); 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 (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 (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
return View(model); return View(model);

View File

@@ -13,10 +13,10 @@ using HaWeb.Settings.ParsingRules;
public static class LetterHelpers public static class LetterHelpers
{ {
public static string CreateLetter(ILibrary lib, IReaderService readerService, Meta meta, Letter letter, IEnumerable<Marginal>? marginals) public static string CreateLetter(ILibrary lib, IReaderService readerService, Meta meta, Letter letter, IEnumerable<Marginal>? marginals, IEnumerable<Hand>? hands, IEnumerable<Editreason>? edits)
{ {
var rd = readerService.RequestStringReader(letter.Element); 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>(letterState, rd, letterState.sb_lettertext, LetterRules.OTagRules, LetterRules.STagRules, LetterRules.CTagRules, LetterRules.TextRules, LetterRules.WhitespaceRules); new HaWeb.HTMLParser.XMLHelper<LetterState>(letterState, rd, letterState.sb_lettertext, LetterRules.OTagRules, LetterRules.STagRules, LetterRules.CTagRules, LetterRules.TextRules, LetterRules.WhitespaceRules);
// new HaWeb.HTMLParser.XMLHelper<LetterState>(letterState, rd, letterState.sb_lettertext, null, LetterRules.STagRulesLineCount); // new HaWeb.HTMLParser.XMLHelper<LetterState>(letterState, rd, letterState.sb_lettertext, null, LetterRules.STagRulesLineCount);
@@ -63,7 +63,8 @@ public static class LetterHelpers
new HaWeb.HTMLParser.XMLHelper<EditState>(editsState, rd, sb2, EditRules.OTagRules, null, EditRules.CTagRules, EditRules.TextRules, EditRules.WhitespaceRules); new HaWeb.HTMLParser.XMLHelper<EditState>(editsState, rd, sb2, EditRules.OTagRules, null, EditRules.CTagRules, EditRules.TextRules, EditRules.WhitespaceRules);
rd.Read(); rd.Read();
sb2.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement("span")); 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(); var text = XElement.Parse(sb2.ToString()).Value.ToString();
text = text.ToString().Split(' ').Take(1).First() + " [&#x2026;] " + text.ToString().Split(' ').TakeLast(1).First(); text = text.ToString().Split(' ').Take(1).First() + " [&#x2026;] " + text.ToString().Split(' ').TakeLast(1).First();

View File

@@ -72,6 +72,11 @@ public static class CSSClasses {
public const string FIRSTPAGECLASS = "ha-firstpage"; public const string FIRSTPAGECLASS = "ha-firstpage";
public const string EMPTYLINECLASS = "ha-emptyline"; 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: // TODO Classes used in Razor Pages:

View File

@@ -64,6 +64,11 @@ public class LetterRules
private static readonly string MARGINALCLASS = HaWeb.Settings.CSSClasses.MARGINALCLASS; private static readonly string MARGINALCLASS = HaWeb.Settings.CSSClasses.MARGINALCLASS;
private static readonly string LETTERCLASS = HaWeb.Settings.CSSClasses.LETTERCLASS; 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 // Parsing Rules for Letters
// General rules (for the lettertext column, also for parsing the marginals, awa tradtions and editreasons) // General rules (for the lettertext column, also for parsing the marginals, awa tradtions and editreasons)
public static readonly TagFuncList OTagRules = new TagFuncList() { 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 == "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 == "letterTradition", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TRADITIONCLASS)) ),
( ( x, _) => x.Name == "marginal", (sb, tag, reader) => { ( ( 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; 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 == "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() { public static readonly TagFuncList CTagRules = new TagFuncList() {
@@ -221,6 +234,9 @@ public class LetterRules
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS)); sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS));
foreach (var marginal in margs) 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 (<marginal>) is somehow parsed, // In Marginal, the Root-Element (<marginal>) is somehow parsed,
// so we don't need to enclose it in a seperate div. // so we don't need to enclose it in a seperate div.
var rd = reader.State.ReaderService.RequestStringReader(marginal.Element); var rd = reader.State.ReaderService.RequestStringReader(marginal.Element);

View File

@@ -44,7 +44,6 @@ public static class TraditionRules
private static readonly string MARGINGALBOXCLASS = HaWeb.Settings.CSSClasses.MARGINGALBOXCLASS; private static readonly string MARGINGALBOXCLASS = HaWeb.Settings.CSSClasses.MARGINGALBOXCLASS;
// Zeilen: // Zeilen:
// :
private static readonly string ZHLINECLASS = HaWeb.Settings.CSSClasses.ZHLINECLASS; private static readonly string ZHLINECLASS = HaWeb.Settings.CSSClasses.ZHLINECLASS;
private static readonly string FIRSTLINECLASS = HaWeb.Settings.CSSClasses.FIRSTLINECLASS; private static readonly string FIRSTLINECLASS = HaWeb.Settings.CSSClasses.FIRSTLINECLASS;
private static readonly string ZHBREAKCLASS = HaWeb.Settings.CSSClasses.ZHBREAKCLASS; 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 TRADZHTEXTCLASS = HaWeb.Settings.CSSClasses.TRADZHTEXTCLASS;
public static readonly string TRADZHTEXTBOXCLASS = HaWeb.Settings.CSSClasses.TRADZHTEXTBOXCLASS; 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 // Parsing Rules for Letters
// General rules (for the lettertext column, also for parsing the marginals, awa tradtions and editreasons) // General rules (for the lettertext column, also for parsing the marginals, awa tradtions and editreasons)
public static readonly TagFuncList OTagRules = new TagFuncList() { public static readonly TagFuncList OTagRules = new TagFuncList() {
@@ -236,6 +241,9 @@ public static class TraditionRules
sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS)); sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS));
foreach (var marginal in margs) 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 (<marginal>) is somehow parsed, // In Marginal, the Root-Element (<marginal>) is somehow parsed,
// so we don't need to enclose it in a seperate div. // so we don't need to enclose it in a seperate div.
if (marginal.Element != null) { if (marginal.Element != null) {

View File

@@ -16,6 +16,8 @@ public class LetterState : HaWeb.HTMLParser.IState {
internal Meta Meta; internal Meta Meta;
internal IEnumerable<Marginal>? Marginals; internal IEnumerable<Marginal>? Marginals;
internal IEnumerable<Hand>? Hands;
internal IEnumerable<Editreason>? Edits;
// State // State
internal bool active_del; internal bool active_del;
@@ -27,12 +29,13 @@ public class LetterState : HaWeb.HTMLParser.IState {
internal StringBuilder sb_lettertext; internal StringBuilder sb_lettertext;
public LetterState(ILibrary lib, IReaderService readerService, Meta meta, IEnumerable<Marginal>? marginals) { public LetterState(ILibrary lib, IReaderService readerService, Meta meta, IEnumerable<Marginal>? marginals, IEnumerable<Hand>? hands, IEnumerable<Editreason>? edits) {
Lib = lib; Lib = lib;
ReaderService = readerService; ReaderService = readerService;
Meta = meta; Meta = meta;
Marginals = marginals; Marginals = marginals;
Hands = hands;
Edits = edits;
SetupState(); SetupState();
} }

View File

@@ -62,16 +62,14 @@
@if (Model.ParsedEdits != null) { @if (Model.ParsedEdits != null) {
<div class="ha-edits"> <div class="ha-edits">
<div class="ha-editstitle">Textkritische Anmerkungen</div> <div class="ha-editstitle">Textkritische Anmerkungen</div>
<div class="ha-editsinfo">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.</div>
<div class="ha-editentries"> <div class="ha-editentries">
<table> <table>
@foreach (var edit in Model.ParsedEdits) { @foreach (var edit in Model.ParsedEdits) {
<tr> <tr>
<td> <td class="ha-editfromto">
<div class="ha-editfrom">@edit.Item1</div> <div class="ha-editfrom">@edit.Item1</div>@if (!String.IsNullOrEmpty(edit.Item2)) {<div class="ha-editto">@edit.Item2</div>
@if (!String.IsNullOrEmpty(edit.Item2)) { }</td>
<div class="ha-editto">@edit.Item2</div>
}
</td>
<td class="ha-editreference">@Html.Raw(@edit.Item3)</td> <td class="ha-editreference">@Html.Raw(@edit.Item3)</td>
<td class="ha-editreas">@Html.Raw(@edit.Item4)</td> <td class="ha-editreas">@Html.Raw(@edit.Item4)</td>
</tr> </tr>

View File

@@ -12,7 +12,7 @@ module.exports = {
}, },
screens: { screens: {
'sm': '786px', 'sm': '786px',
'md': '1024px', 'md': '960px',
'desktop': '1190px', 'desktop': '1190px',
'xl': '1440px', 'xl': '1440px',
'2xl': '1680px', '2xl': '1680px',

View File

@@ -488,7 +488,7 @@ body {
display: flex; display: flex;
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-topnav { .ha-topnav {
font-size: 1.125rem; font-size: 1.125rem;
line-height: 1.75rem; line-height: 1.75rem;
@@ -615,7 +615,7 @@ body {
line-height: 1.75rem; line-height: 1.75rem;
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-footer { .ha-footer {
padding: 1rem; padding: 1rem;
} }
@@ -657,7 +657,7 @@ body {
hyphens: auto; hyphens: auto;
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-static { .ha-static {
padding-left: 4rem; padding-left: 4rem;
padding-right: 4rem; padding-right: 4rem;
@@ -799,7 +799,7 @@ body {
padding-top: 2.25rem; padding-top: 2.25rem;
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-register .ha-register-head, .ha-register .ha-register-body { .ha-register .ha-register-head, .ha-register .ha-register-body {
padding-left: 4rem; padding-left: 4rem;
padding-right: 4rem; padding-right: 4rem;
@@ -846,7 +846,7 @@ body {
color: rgb(15 23 42 / var(--tw-text-opacity)); 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 { .ha-register .ha-register-head .ha-register-nav a {
margin-right: 0.75rem; margin-right: 0.75rem;
} }
@@ -874,7 +874,7 @@ body {
padding-bottom: 2.25rem; padding-bottom: 2.25rem;
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-register .ha-register-body { .ha-register .ha-register-body {
padding-right: 24rem; padding-right: 24rem;
padding-bottom: 3rem; padding-bottom: 3rem;
@@ -886,7 +886,7 @@ body {
display: block; display: block;
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-register .ha-register-body .ha-comment { .ha-register .ha-register-body .ha-comment {
margin-bottom: 3rem; margin-bottom: 3rem;
} }
@@ -946,7 +946,7 @@ body {
text-indent: -1rem; text-indent: -1rem;
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-register .ha-forschung .ha-register-body .ha-comment { .ha-register .ha-forschung .ha-register-body .ha-comment {
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
} }
@@ -965,7 +965,7 @@ body {
font-variant-caps: all-petite-caps; 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 { .ha-register .ha-register-body .ha-comment .ha-commenthead .ha-letlinks {
font-size: 0.875rem; font-size: 0.875rem;
line-height: 1.25rem; line-height: 1.25rem;
@@ -1163,7 +1163,7 @@ body {
padding-top: 2rem; padding-top: 2rem;
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-letterheader { .ha-letterheader {
padding-left: 4rem; padding-left: 4rem;
padding-right: 4rem; padding-right: 4rem;
@@ -1197,7 +1197,7 @@ body {
color: rgb(15 23 42 / var(--tw-text-opacity)); color: rgb(15 23 42 / var(--tw-text-opacity));
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-letterheader .ha-lettertabs a { .ha-letterheader .ha-lettertabs a {
margin-right: 0.75rem; margin-right: 0.75rem;
} }
@@ -1342,11 +1342,11 @@ body {
.ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox { .ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox {
position: absolute; position: absolute;
right: -28rem; right: -21rem;
margin-right: 1rem; margin-right: 1rem;
margin-top: 0.25rem; margin-top: 0.25rem;
display: flex; display: none;
width: 24rem; width: 19rem;
flex-wrap: wrap; flex-wrap: wrap;
border-radius: 0.125rem; border-radius: 0.125rem;
border-left-width: 2px; border-left-width: 2px;
@@ -1365,6 +1365,19 @@ body {
hyphens: auto; 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 { .ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox .ha-marginal {
display: inline-block; display: inline-block;
} }
@@ -1411,7 +1424,7 @@ body {
.ha-additions .ha-tradition .ha-tradzhtext .ha-btn-collapsed-box { .ha-additions .ha-tradition .ha-tradzhtext .ha-btn-collapsed-box {
position: absolute; position: absolute;
right: -2.5rem; right: -0.5rem;
margin-top: 2px; margin-top: 2px;
display: none; display: none;
cursor: pointer; cursor: pointer;
@@ -1425,12 +1438,18 @@ body {
color: rgb(15 23 42 / var(--tw-text-opacity)); 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 { .ha-additions .ha-tradition .ha-tradzhtext .ha-btn-collapsed-box {
display: block; display: block;
} }
} }
@media (min-width: 1190px) {
.ha-additions .ha-tradition .ha-tradzhtext .ha-btn-collapsed-box {
right: -2.5rem;
}
}
.ha-additions .ha-hands { .ha-additions .ha-hands {
padding-top: 1.5rem; padding-top: 1.5rem;
} }
@@ -1457,9 +1476,13 @@ body {
font-weight: 700; 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; white-space: nowrap;
padding-left: 0.25rem;
font-size: 0.875rem; font-size: 0.875rem;
line-height: 1.25rem; line-height: 1.25rem;
font-weight: 600; font-weight: 600;
@@ -1481,9 +1504,13 @@ body {
font-weight: 700; font-weight: 700;
} }
.ha-additions .ha-edits .ha-editentries td { .ha-additions .ha-edits .ha-editsinfo {
padding-right: 1rem; margin-right: 18rem;
vertical-align: top; padding-bottom: 1rem;
}
.ha-additions .ha-edits .ha-editentries tr td {
vertical-align: text-top;
} }
.ha-additions .ha-edits .ha-editentries .ha-editreas div { .ha-additions .ha-edits .ha-editentries .ha-editreas div {
@@ -1492,14 +1519,31 @@ body {
} }
.ha-additions .ha-edits .ha-editentries table { .ha-additions .ha-edits .ha-editentries table {
width: 100%; /* @apply w-full */
} }
.ha-additions .ha-edits .ha-editentries table tr:nth-child(even) { .ha-additions .ha-edits .ha-editentries tr td:nth-of-type(1) {
--tw-bg-opacity: 1; padding-right: 0.25rem;
background-color: rgb(226 232 240 / var(--tw-bg-opacity)); 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 * { .ha-additions .ha-edits .ha-editentries .ha-editreas .ha-zh * {
font-family: Libertine, serif !important; font-family: Libertine, serif !important;
} }
@@ -1548,11 +1592,11 @@ body {
.ha-lettertext .ha-marginalbox { .ha-lettertext .ha-marginalbox {
position: absolute; position: absolute;
right: -28rem; right: -21rem;
margin-right: 1rem; margin-right: 1rem;
margin-top: 0.25rem; margin-top: 0.25rem;
display: flex; display: none;
width: 24rem; width: 19rem;
flex-wrap: wrap; flex-wrap: wrap;
border-radius: 0.125rem; border-radius: 0.125rem;
border-left-width: 2px; border-left-width: 2px;
@@ -1571,6 +1615,19 @@ body {
hyphens: auto; 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 { .ha-lettertext .ha-marginalbox .ha-marginal {
display: inline-block; display: inline-block;
} }
@@ -1604,7 +1661,7 @@ body {
.ha-lettertext .ha-btn-collapsed-box { .ha-lettertext .ha-btn-collapsed-box {
position: absolute; position: absolute;
right: -2.5rem; right: -0.5rem;
margin-top: 2px; margin-top: 2px;
display: none; display: none;
cursor: pointer; cursor: pointer;
@@ -1618,12 +1675,18 @@ body {
color: rgb(15 23 42 / var(--tw-text-opacity)); color: rgb(15 23 42 / var(--tw-text-opacity));
} }
@media (min-width: 1190px) { @media (min-width: 960px) {
.ha-lettertext .ha-btn-collapsed-box { .ha-lettertext .ha-btn-collapsed-box {
display: block; display: block;
} }
} }
@media (min-width: 1190px) {
.ha-lettertext .ha-btn-collapsed-box {
right: -2.5rem;
}
}
/* Classes from the General parser */ /* Classes from the General parser */
/* Classes from .NET */ /* Classes from .NET */
@@ -1657,26 +1720,26 @@ body {
font-family: Libertine, serif; 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; 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; -webkit-text-decoration-line: underline;
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; -webkit-text-decoration-line: line-through;
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-family: Playfair, serif;
font-size: 0.9rem; 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; border-radius: 0.125rem;
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(203 213 225 / var(--tw-bg-opacity)); background-color: rgb(203 213 225 / var(--tw-bg-opacity));
@@ -1684,7 +1747,7 @@ body {
padding-right: 0.25rem; 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; font-style: italic;
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(51 65 85 / var(--tw-text-opacity)); color: rgb(51 65 85 / var(--tw-text-opacity));
@@ -1717,7 +1780,7 @@ body {
line-height: 1; 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; display: inline;
border-bottom-width: 1px; border-bottom-width: 1px;
--tw-border-opacity: 1; --tw-border-opacity: 1;
@@ -1725,14 +1788,14 @@ body {
padding-bottom: 2px; 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; -webkit-text-decoration-line: underline;
text-decoration-line: underline; text-decoration-line: underline;
-webkit-text-decoration-style: double; -webkit-text-decoration-style: double;
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-bottom-width: 3px;
border-style: double; border-style: double;
--tw-border-opacity: 1; --tw-border-opacity: 1;
@@ -1796,7 +1859,7 @@ body {
line-height: 1.5rem; line-height: 1.5rem;
} }
@media (min-width: 1024px) { @media (min-width: 960px) {
.ha-topnav.ha-topnav-collapsed { .ha-topnav.ha-topnav-collapsed {
font-size: 1.125rem; font-size: 1.125rem;
line-height: 1.75rem; line-height: 1.75rem;
@@ -2295,6 +2358,10 @@ body {
content: ']'; content: ']';
} }
.ha-additions .ha-edits .ha-editentries tr td:nth-of-type(2)::after {
content: ']';
}
* { * {
-webkit-text-decoration-skip-ink: all; -webkit-text-decoration-skip-ink: all;
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 { .md\:inline {
display: inline; display: inline;
} }

View File

@@ -461,7 +461,7 @@
} }
.ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox { .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 { .ha-additions .ha-tradition .ha-tradzhtext .ha-marginalbox .ha-marginal {
@@ -485,7 +485,7 @@
} }
.ha-additions .ha-tradition .ha-tradzhtext .ha-btn-collapsed-box { .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 { .ha-additions .ha-hands {
@@ -496,7 +496,6 @@
@apply font-bold @apply font-bold
} }
.ha-additions .ha-hands .ha-handentries .ha-handfrom, .ha-additions .ha-hands .ha-handentries .ha-handfrom,
.ha-additions .ha-hands .ha-handentries .ha-handto { .ha-additions .ha-hands .ha-handentries .ha-handto {
@apply inline text-sm font-semibold whitespace-nowrap @apply inline text-sm font-semibold whitespace-nowrap
@@ -510,10 +509,13 @@
@apply font-bold @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-editfrom,
.ha-additions .ha-edits .ha-editentries .ha-editto { .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 { .ha-additions .ha-edits .ha-editentries .ha-editreference {
@@ -532,8 +534,12 @@
@apply font-bold @apply font-bold
} }
.ha-additions .ha-edits .ha-editentries td { .ha-additions .ha-edits .ha-editsinfo {
@apply pr-4 align-top @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 { .ha-additions .ha-edits .ha-editentries .ha-editreas div {
@@ -541,13 +547,25 @@
} }
.ha-additions .ha-edits .ha-editentries table { .ha-additions .ha-edits .ha-editentries table {
@apply w-full /* @apply w-full */
} }
.ha-additions .ha-edits .ha-editentries table tr:nth-child(even) { .ha-additions .ha-edits .ha-editentries tr td:nth-of-type(1) {
@apply bg-slate-200 @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 * { .ha-additions .ha-edits .ha-editentries .ha-editreas .ha-zh * {
@apply !font-serif @apply !font-serif
} }
@@ -578,7 +596,7 @@
} }
.ha-lettertext .ha-marginalbox { .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 { .ha-lettertext .ha-marginalbox .ha-marginal {
@@ -602,7 +620,7 @@
} }
.ha-lettertext .ha-btn-collapsed-box { .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,
.ha-aq * :not(.ha-marginal *, .ha-marginal) { .ha-aq * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) {
@apply font-sans @apply font-sans
} }
.ha-ul, .ha-ul,
.ha-ul * :not(.ha-marginal *, .ha-marginal) { .ha-ul * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) {
@apply underline @apply underline
} }
.ha-del, .ha-del,
.ha-del * :not(.ha-marginal *, .ha-marginal) { .ha-del * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) {
@apply line-through @apply line-through
} }
.ha-hand, .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] @apply font-classy text-[0.9rem]
} }
.ha-added, .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 @apply bg-slate-300 px-1 rounded-sm
} }
.ha-note, .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 @apply italic text-slate-700
} }
@@ -679,17 +697,17 @@
} }
.ha-ful, .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] @apply inline border-b border-black pb-[2px]
} }
.ha-dul, .ha-dul,
.ha-dul * :not(.ha-marginal *, .ha-marginal) { .ha-dul * :not(.ha-linecount *, .ha-linecount, .ha-marginal *, .ha-marginal) {
@apply underline decoration-double @apply underline decoration-double
} }
.ha-tul, .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 @apply underline border-b-[3px] border-double border-black
} }
@@ -814,6 +832,10 @@
content: ']'; content: ']';
} }
.ha-additions .ha-edits .ha-editentries tr td:nth-of-type(2)::after {
content: ']';
}
* { * {
text-decoration-skip-ink: all; text-decoration-skip-ink: all;
} }

View File

@@ -205,6 +205,6 @@ window.addEventListener("load", function () {
overlappingcollapsebox(".ha-neuzeit .ha-letlinks", true); overlappingcollapsebox(".ha-neuzeit .ha-letlinks", true);
overlappingcollapsebox(".ha-forschung .ha-letlinks", true); overlappingcollapsebox(".ha-forschung .ha-letlinks", true);
overlappingcollapsebox(".ha-lettertext .ha-marginalbox", true); overlappingcollapsebox(".ha-lettertext .ha-marginalbox", true);
showhidebutton("ha-lettertextbtn", "ha-additionsbtn", "ha-additions", "ha-lettertext", true); showhidebutton("ha-lettertextbtn", "ha-additionsbtn", "ha-additions", "ha-lettertext", false);
showhidebutton("ha-additionsbtn", "ha-lettertextbtn", "ha-lettertext", "ha-additions", false); showhidebutton("ha-additionsbtn", "ha-lettertextbtn", "ha-lettertext", "ha-additions", true);
}); });