Drop markdown for monospace
With markdown, we're only allowing about 1/10 of what is possible.
This creates a false reality and expectation. Lets not suggest this.
Nor do we have in-editor preview. So the user has to save, look at it,
then go back and edit. And seeing a bunch of sanitized HTML or just
missing sections isn't firendly.
Monospace, what you type, is what you're going to get. It gives the
presenter enough power to build a readable abstract, but not so much
that they can break the page and it's CSS, nor the ability to confuse
onselve through not getting what you expect.
We keep bleach sanitation and we should probably run linkify on this in
the long term. (Turn links into clickable links)
This is all noop in Py3, and Py2 is broke now in various places.
Dropping Py2 code as it will not be a thing going forward.
Django 2 is the next release, Py2 support will be dropped, as such,
dropping this is forward looking.
This is an XSS vulnribilitiy.
This also blocks a number of MD attributes that a user might attempt to
use.
The following are the allowed attributes.
['a', 'abbr', 'acronym', 'b', 'blockquote', 'code', 'em', 'i', 'li',
'ol', 'p', 'pre', 'strong', 'ul']
I belive this to be acceptable, as honeslty, a speaker using H1 is going
to stomp all over the page and make it harder for the reviewer to parse.
UX wise, it's less than great. A user can do # title and be left with
<h1> in the sanitized output.
I was originally going to switch to print function, but frankly I can't
see any reason to keep these. I don't know what data it's leaking into
the logs, but it certainly doesn't seem useful
StringIO is not in Py3. And it's not used at all, so removing that
import. Seems to work with Py3 now. More testing is required.
This only seems to be here to have some custom login_url used bypassing
django's model. Well as we want to use django's model, this just won't
do. So lets move to using django's model.
In the future, when we want to lock a package to a specific version, we
will do that via a constraints file in the master project.
Making it difficult to update deps is not okay.
Use method instead of class attribute for ical feed description.
This allows the class to be instantiated without a database being
available (eg. during migrate).