a fork of iceshrimp.net but a tweaked frontend to my personal liking. waow
fediverse social-media social iceshrimp fedi
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

[backend/libmfm] Implement outgoing ruby

Kopper aa522675 1672b02c

+37
+37
Iceshrimp.Backend/Core/Helpers/LibMfm/Conversion/MfmConverter.cs
··· 275 275 return el; 276 276 } 277 277 } 278 + case MfmFnNode { Name: "ruby" } fn: 279 + { 280 + var el = CreateInlineFormattingElement("ruby"); 281 + 282 + if (fn.Children.FirstOrDefault() is not {} first) 283 + return Fallback(); 284 + 285 + // TODO: this wont work for bold and italic and whatnot, misskey supports those for the first part at least 286 + if (fn.Children.Length == 1 && first is MfmTextNode firstText) 287 + { 288 + var parts = firstText.Text.Split(' ', count: 3); 289 + if (parts.Length == 0) return Fallback(); 290 + 291 + el.AppendChild(CreateTextNode(parts[0])); 292 + var secondPart = parts.ElementAtOrDefault(1); 293 + if (!string.IsNullOrWhiteSpace(secondPart)) 294 + { 295 + var rt = CreateInlineFormattingElement("rt"); 296 + rt.AppendChild(CreateTextNode(secondPart)); 297 + el.AppendChild(rt); 298 + } 299 + } 300 + else 301 + { 302 + Fallback(); 303 + } 304 + 305 + return el; 306 + 307 + IElement Fallback() 308 + { 309 + AddHtmlMarkup(el, "*"); 310 + AppendChildren(el, node, mentions, host, usedMedia); 311 + AddHtmlMarkup(el, "*"); 312 + return el; 313 + } 314 + } 278 315 case MfmBoldNode: 279 316 { 280 317 var el = CreateInlineFormattingElement("b");