add builder
This commit is contained in:
parent
d558d1c5e1
commit
b045739b45
4 changed files with 93 additions and 15 deletions
|
@ -1,6 +1,6 @@
|
|||
from datetime import date
|
||||
from zona.models import Metadata
|
||||
from zona.builder import split_metadata, discover
|
||||
from zona.builder import split_metadata, discover, build
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
|
@ -43,12 +43,13 @@ description: This is a test.
|
|||
""")
|
||||
|
||||
style = staticd / "style.css"
|
||||
style.write_text("""
|
||||
style_content = """
|
||||
p {
|
||||
color: red;
|
||||
text-align: center;
|
||||
}
|
||||
""")
|
||||
"""
|
||||
style.write_text(style_content)
|
||||
|
||||
items = discover(tmp_path, outd)
|
||||
|
||||
|
@ -61,6 +62,7 @@ p {
|
|||
assert md_item.url == "post.md"
|
||||
assert isinstance(md_item.metadata, Metadata)
|
||||
assert md_item.metadata.title == "Test Post"
|
||||
assert md_item.content is not None
|
||||
assert md_item.content.strip() == "# Hello World"
|
||||
|
||||
st_item = items[1]
|
||||
|
@ -69,3 +71,39 @@ p {
|
|||
assert st_item.destination.is_relative_to(outd)
|
||||
assert st_item.url == "static/style.css"
|
||||
assert st_item.metadata is None
|
||||
|
||||
|
||||
def test_build(tmp_path: Path):
|
||||
contentd = tmp_path / "content"
|
||||
staticd = contentd / "static"
|
||||
templatesd = tmp_path / "templates"
|
||||
outd = tmp_path / "out"
|
||||
|
||||
for d in [contentd, staticd, templatesd, outd]:
|
||||
d.mkdir()
|
||||
md_file = contentd / "post.md"
|
||||
md_content = """---
|
||||
title: Test Post
|
||||
date: 2025-06-03
|
||||
description: This is a test.
|
||||
---
|
||||
|
||||
# Hello World
|
||||
"""
|
||||
md_file.write_text(md_content)
|
||||
|
||||
style = staticd / "style.css"
|
||||
style_content = """
|
||||
p {
|
||||
color: red;
|
||||
text-align: center;
|
||||
}
|
||||
"""
|
||||
style.write_text(style_content)
|
||||
|
||||
items = discover(tmp_path, outd)
|
||||
build(items)
|
||||
html = (outd / "post.html").read_text()
|
||||
assert html.strip() == "<h1>Hello World</h1>"
|
||||
s = (outd / "static" / "style.css").read_text()
|
||||
assert s.strip() == style_content.strip()
|
Loading…
Add table
Add a link
Reference in a new issue