mirror of
https://github.com/tiyn/beaker-blog.git
synced 2025-04-01 15:07:46 +02:00
make preview use the first paragraph
This commit is contained in:
parent
070be5b0e2
commit
a862ac0966
@ -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 += "<br>...<br>"
|
||||
first_p = BeautifulSoup(lines).find('p')
|
||||
if first_p is not None:
|
||||
preview = "\n<p>" + first_p.text + "</p>\n"
|
||||
preview += "...<br>"
|
||||
return preview
|
||||
|
@ -4,3 +4,4 @@ Whoosh
|
||||
WTForms
|
||||
Flask_WTF
|
||||
Font-Awesome-Flask
|
||||
BeautifulSoup4
|
||||
|
Loading…
x
Reference in New Issue
Block a user