2.2.0 • Published 2 years ago

@giancosta86/ulysses v2.2.0

Weekly downloads
7
License
Apache-2.0
Repository
github
Last release
2 years ago

Ulysses

Simplified generation of OmniCourse descriptors

Main screen

Ulysses is a web application - packaged as a standalone command - dedicated to the simplified generation of OmniCourse descriptors.

More precisely, the user can input lines using a compact format - one line per work - and the app will try to fetch the missing information from the supported official websites: in other words, Ulysses can be thought of as a sophisticated descendant of the OmniCourse-Agent browser plugin.

Ulysses becomes essential as one completes more and more courses and books while keeping track of them with OmniCourse.

Installation

To install Ulysses:

npm install --global @giancosta86/ulysses

Then, to start the app:

ulysses [<port>]

where:

  • port is optional and defaults to 2000

To stop the app, press CTRL+C in the terminal.

Input format

Ulysses takes its input data from a minimalist log of didactic entries - usually online courses: each non-empty line must adhere to a specific format and will be converted to an OmniCourse descriptor; empty lines and spaces between line components are ignored, as well as lines starting with //.

This is the expected line format:

\: "\" #\

where:

  • completion date is mandatory and can be written as:

    • \/\, assuming the year is the current one

    • \/\/\, which is the most complete format

  • title is optional but, if present, must be enclosed in double quotes

  • url is optional but recommended: if the URL belongs to a supported didactic provider, it is used to fetch missing information such as the title and the learning time. It must not be enclosed in quotes

  • learning time is optional but, if declared, must be prefixed by a # symbol. Its overall format is:

    #\h\

    where hours and minutes are mandatory, arbitrary numbers (even 0), separated by the letter h

Overall, the line format is quite flexible... what matters is that - with or without the aid of the URL - the line enables Ulysses to gather enough information to create an OmniCourse descriptor - that is, the title and the learning time in minutes, with the additional constraint of the completion date.

Examples

To see Ulysses in action, you could input the following text, then click Run:

// Ulysses supports a variety of didactic portals: in this case, the title and the learning time of each course are automatically fetched from its page
29/4: https://www.ted.com/talks/chris_anderson_ted_s_secret_to_great_public_speaking
13/5: https://www.udemy.com/course/webpack-5-fundamentals
18/5: https://www.pluralsight.com/courses/cryptography-big-picture
23/6: https://www.packtpub.com/product/introduction-to-unity-video/9781789807653

// If a work does not belong to a supported didactic portal, both its title and the learning time are mandatory elements; the URL, in this case, becomes optional
24/8: "Introduction to Redux with TypeScript" https://speakerdeck.com/giancosta86/introduction-to-redux-with-typescript #3h30

// Works not having a URL are supported as well
17/9: "Philosophy - A very ancient book" #20h0

// There are also hybrid cases: for example, the URL of a book published onto a didactic portal enables the app to fetch its title, but the learning time remains a mandatory element
21/10: https://www.packtpub.com/product/c-9-and-net-5-modern-cross-platform-development-fifth-edition/9781800568105 #11h30

Third-party images

2.2.0

2 years ago

2.1.2

2 years ago

2.1.1

2 years ago

2.1.3

2 years ago

2.1.0-rc.2

2 years ago

2.1.0

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.5.0

3 years ago

0.4.0

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago