Adding a CMS to Your Flask Web App Transcripts
Chapter: Advanced markdown
Lecture: Concept: Markdown subtemplate integration
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
Let's talk about rendering markdown content this time in a much better way. Remember Version one? We just took Mark down to the library and said,
0:08
We're gonna on every request, take the page, get it's marked down content and turn into HTML.
0:14
We saw, however, there was a bunch of drawbacks that one that's super slow for large pages. We want that to be faster.
0:23
Another one is there's no possibility of reusing or composing marked on content from other markdown
0:30
content. You can't like, do that import thing we've been doing. So we switched over to the markdown sub template package and in order to use it
0:38
now it's quite simple. We just like before in our view model still get the page. But instead of just saying page dot convents is the HTML,
0:46
then we moved, passing that to the mark down to library. Now we go. We let the markdown sub template library completely manage that.
0:54
So we're going to go do the engines, they get Paige and give it to you girl Now for that's actually work.
1:00
The markdown sub template library needs to know how to talk to our database to determine if that page exists as well as traverse the imports.
1:09
Du. The replacements do the cashing. There's lots of stuff that it needs to do.
1:12
So we're going to have to create a very simple class that derives from sub template
1:17
storage. And that means we have to write basically four methods to meaningful ones, get markdown text and get shared markdown.
1:25
And we can just delegate back toe our CMS service. So, for example, here, when they the system needs to know about a page,
1:32
we just say, Give us that page from the database of exists, we return its contents. If it doesn't exist, we just say Sorry, it doesn't exist now.
1:41
This is good. But in order to make the markdown sub template, use this new implementation of the storage engine We have to go and at the app
1:51
start up, say create one of these and go to the markdown sub template storage and say the set the storage engine. To be this one that we wrote here,
2:00
then it's off to the races. Superfast composable is really, really nice.