New learn page

Implementation based on @snconnolly's proposal on #420.
Same thing as before.