Opened 3 months ago

#15337 new enhancement

Improved Display of User Usage Conditions in HaikuDepot

Reported by: apl-haiku Owned by: stippi
Priority: normal Milestone: Unscheduled
Component: Applications/HaikuDepot Version: R1/Development
Keywords: conditions text Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

This ticket relates to #15209. This would be a good ticket for either a GSOC student or somebody wanting an easily-contained, well defined ticket to have a go at.

Background

Some time ago a simple text-engine was created in HaikuDepot. Part of the text engine is able to convert specially formatted plain text and display it as rich text graphically on screen. This means that a series of lines such as;

* One tree
* Three lawns
* Five hills

Would render with nice bullet-points on screen. This works well, but it assumes a plain text format that is not exactly Markdown (https://en.wikipedia.org/wiki/Markdown). It would be great if the formatting would accommodate very basic Markdown and at a minimum, the following;

  • Headings of different levels
  • Unordered lists (bullet points) at a single level
  • Paragraphs
  • Bold, Italic, Bold and Italic

Also great, but more difficult would be;

  • Inline hyperlinks

It would be good if the work was done in such a way that it would be later easy to accommodate additional Markdown features such as;

  • Quoted text
  • Preformatted text
  • Horizonal rules
  • Ordered and unordered lists at multiple levels
  • Inline hyperlinks

Specific Use Case

(see attached screenshots)

HaikuDepot is able to display "user usage conditions" (UCC). The UUC can be seen by opening HaikuDepot and choosing the top-right drop-down menu. This menu often has the title "Not logged in". You can choose the menu item "View latest user usage conditions..." to see the user usage conditions. The goal is to be able to display that document properly.

Classes Involved

The classes involved are contained in the source code for the HaikuDepot application. Specifically the class MarkupParser needs to be augmented to support Markdown so that it can be displayed in the View class TextView.

Test Input Data

To obtain sample Markdown to test with, see the source for HaikuDepotServer (https://github.com/haiku/haikudepotserver) and look for a file UUC2019V01.md. It is possible to see how this is expected to look by viewing the UUC on the Haiku Depot Server system (https://depot.haiku-os.org/__user/usageconditions/latest/document.html).

Attachments (2)

conditions.png (8.4 KB ) - added by apl-haiku 3 months ago.
menu-item.png (2.4 KB ) - added by apl-haiku 3 months ago.

Download all attachments as: .zip

Change History (2)

by apl-haiku, 3 months ago

Attachment: conditions.png added

by apl-haiku, 3 months ago

Attachment: menu-item.png added
Note: See TracTickets for help on using tickets.