diff --git a/src/content.py b/src/content.py index 1fbd909..de13dd1 100644 --- a/src/content.py +++ b/src/content.py @@ -3,6 +3,7 @@ import os import pathlib from datetime import datetime from os import path +from bs4 import BeautifulSoup import markdown @@ -233,20 +234,12 @@ def create_preview(path, is_markdown): string: html-formated preview """ file = open(path, "r", encoding="utf-8") - first_lines = file.readlines() + lines = file.read() + if is_markdown: + lines += markdown.markdown(lines) preview = "" - preview_length = 3 - for i, line in enumerate(first_lines): - if i == 0: - continue - if i > preview_length: - break - if not line.isspace(): - if is_markdown: - preview += markdown.markdown(line) - else: - preview += line - else: - preview_length += 1 - preview += "
...
" + first_p = BeautifulSoup(lines).find('p') + if first_p is not None: + preview = "\n

" + first_p.text + "

\n" + preview += "...
" return preview diff --git a/src/requirements.txt b/src/requirements.txt index 0227fdc..13dc9a4 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -4,3 +4,4 @@ Whoosh WTForms Flask_WTF Font-Awesome-Flask +BeautifulSoup4