* Add link rel canonical to all pages (/ points itself instead of /?page=current-season because Google crawls duplicate versions of pages less often. I want / to be crawled frequently, so it has to be the canonical version of the content it holds)
* Fix a bug where passing an invald page slug would mean that no page was highlighted as current in the footer
* Also adds aac as an allowed audio type, fixing a bug where I could edit those posts
* To convert old audio to mp3, the following commands were used:
ls *.aac | xargs -I {} bash -c 'ffmpeg -y -i {} -acodec mp3 $(echo {} | sed s/aac/mp3/)'
for t in Thought.objects.filter(media__endswith=".aac"):
t.file.name = f"{t.uuid}.mp3"
t.save()
And ditto with m4a.
Media control addition was a hot fix which skipped my normal development enviroment, where I was working on the app rename. This merges the two branches.
SQL to migrate the DB. Create migrations, migrate
`DELETE FROM django_content_type WHERE app_label='thoughts';`
`UPDATE django_content_type SET app_label='thoughts' WHERE app_label='main';`
`DROP TABLE thoughts_thought;`
`ALTER TABLE main_thought RENAME TO thoughts_thought;`
`DELETE FROM django_migrations WHERE app='main';`
Hopefully that's right, I'm not going to double check it or anything.
* If there was already an uploaded file, it doesn't get re-uploaded when editing, and doesn't show up in request.FILES. The file name is still in thought.media so we can use that to tell if there's a image and if we should allow media_alt
* This is a big deal when typing thoughts that are over a page long, it will jump you to the bottom of the input box every time and it's a little jarring.