This commit is contained in:
2026-04-04 01:58:20 +09:00
parent e5a6206200
commit d514432508
2 changed files with 6 additions and 3 deletions

View File

@@ -7,12 +7,12 @@ name = "nercone-website"
version = "1.0.0" version = "1.0.0"
requires-python = ">=3.8" requires-python = ">=3.8"
dependencies = [ dependencies = [
"psutil",
"httpx", "httpx",
"websockets", "websockets",
"markitdown", "markitdown",
"fastapi", "beautifulsoup4",
"jinja2", "jinja2",
"fastapi",
"uvicorn[standard]" "uvicorn[standard]"
] ]

View File

@@ -2,6 +2,7 @@ import io
import json import json
import random import random
from pathlib import Path from pathlib import Path
from bs4 import BeautifulSoup
from markitdown import MarkItDown from markitdown import MarkItDown
from datetime import datetime, timezone from datetime import datetime, timezone
from fastapi import FastAPI, Request, Response from fastapi import FastAPI, Request, Response
@@ -111,7 +112,9 @@ async def default_response(request: Request, full_path: str) -> Response:
try: try:
if "curl" in request.headers.get("user-agent", "").lower(): if "curl" in request.headers.get("user-agent", "").lower():
content = templates.env.get_template(name).render(request=request) content = templates.env.get_template(name).render(request=request)
markdown = markitdown.convert_stream(io.BytesIO(content.encode("utf-8")), file_extension=".html") soup = BeautifulSoup(content, "html.parser")
main = str(soup.find("main")) if soup.find("main") else content
markdown = markitdown.convert_stream(io.BytesIO(main.encode("utf-8")), file_extension=".html")
accesscounter.increase() accesscounter.increase()
return PlainTextResponse(markdown.text_content, status_code=200) return PlainTextResponse(markdown.text_content, status_code=200)
else: else: