aboutsummaryrefslogtreecommitdiff
path: root/blog_experiment
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2023-10-07 21:53:02 +0200
committeralex <alex@pdp7.net>2023-10-07 21:53:02 +0200
commita4d7a6d6b23180660d53df499a72e8af3548a8c1 (patch)
treed56ee405d32fbff79a75a1708fb253f1095f8f64 /blog_experiment
parentbf8b87730aa24524c0974cd4083a30c0d1c411a1 (diff)
Make blog work as container
* Use BeautifulSoup instead of HTML Tidy, so everything is done in Python * Pull content as submodule for testing purposes * Comment how to use bicephalus from working copy
Diffstat (limited to 'blog_experiment')
-rw-r--r--blog_experiment/blog/html.py37
l---------blog_experiment/content1
m---------blog_experiment/gemini_blog8
-rw-r--r--blog_experiment/poetry.lock39
-rw-r--r--blog_experiment/pyproject.toml2
5 files changed, 58 insertions, 29 deletions
diff --git a/blog_experiment/blog/html.py b/blog_experiment/blog/html.py
index a114318a..6c3b0099 100644
--- a/blog_experiment/blog/html.py
+++ b/blog_experiment/blog/html.py
@@ -1,30 +1,17 @@
-import subprocess
-
+import bs4
import htmlgenerator as h
-def tidy(s):
- p = subprocess.run(
- ["tidy", "--indent", "yes", "-q", "-wrap", "160"],
- input=s,
- stdout=subprocess.PIPE,
- encoding="UTF8",
- )
- return p.stdout
-
-
def html_template(*content):
- return tidy(
- h.render(
- h.HTML(
- h.HEAD(h.TITLE("El blog es mío")),
- h.BODY(
- h.H1("El blog es mío"),
- h.H2("Hay otros como él, pero este es el mío"),
- *content,
- ),
- doctype="html",
+ return bs4.BeautifulSoup(h.render(
+ h.HTML(
+ h.HEAD(h.TITLE("El blog es mío")),
+ h.BODY(
+ h.H1("El blog es mío"),
+ h.H2("Hay otros como él, pero este es el mío"),
+ *content,
),
- {},
- )
- )
+ doctype="html",
+ ),
+ {},
+ ), features="html.parser").prettify()
diff --git a/blog_experiment/content b/blog_experiment/content
new file mode 120000
index 00000000..bffd4794
--- /dev/null
+++ b/blog_experiment/content
@@ -0,0 +1 @@
+gemini_blog/content/ \ No newline at end of file
diff --git a/blog_experiment/gemini_blog b/blog_experiment/gemini_blog
new file mode 160000
+Subproject 4f86ec0553d659fe3253a92657d85a96734d004
diff --git a/blog_experiment/poetry.lock b/blog_experiment/poetry.lock
index 2ae75729..4e772ef9 100644
--- a/blog_experiment/poetry.lock
+++ b/blog_experiment/poetry.lock
@@ -198,6 +198,25 @@ files = [
]
[[package]]
+name = "beautifulsoup4"
+version = "4.12.2"
+description = "Screen-scraping library"
+category = "main"
+optional = false
+python-versions = ">=3.6.0"
+files = [
+ {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"},
+ {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"},
+]
+
+[package.dependencies]
+soupsieve = ">1.2"
+
+[package.extras]
+html5lib = ["html5lib"]
+lxml = ["lxml"]
+
+[[package]]
name = "bicephalus"
version = "0.1.0"
description = ""
@@ -209,14 +228,14 @@ develop = false
[package.dependencies]
aiohttp = "^3.8.4"
-opentelemetry-api = "^1.16.0"
-opentelemetry-sdk = "^1.16.0"
+opentelemetry-api = "^1.20.0"
+opentelemetry-sdk = "^1.20.0"
[package.source]
type = "git"
url = "https://github.com/alexpdp7/bicephalus.git"
reference = "HEAD"
-resolved_reference = "58741fca1c5059b56bc835f6956f02ea99d473e4"
+resolved_reference = "ca0c7e85d9f6926a08040fc492a31e5b129defa0"
[[package]]
name = "charset-normalizer"
@@ -889,6 +908,18 @@ files = [
]
[[package]]
+name = "soupsieve"
+version = "2.5"
+description = "A modern CSS selector implementation for Beautiful Soup."
+category = "main"
+optional = false
+python-versions = ">=3.8"
+files = [
+ {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"},
+ {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"},
+]
+
+[[package]]
name = "stack-data"
version = "0.6.3"
description = "Extract data from python stack frames and tracebacks for informative displays"
@@ -1152,4 +1183,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
[metadata]
lock-version = "2.0"
python-versions = "^3.9"
-content-hash = "e78aaffdf8f8fffe5f6d42617a7428fe63d85d1e9e3637e0416b958e53a41d23"
+content-hash = "1a68435e418a8fe39b7d6063abbedef2fdf798eb4b23a76908f769de0054c153"
diff --git a/blog_experiment/pyproject.toml b/blog_experiment/pyproject.toml
index 554e93f6..d2a7d0e7 100644
--- a/blog_experiment/pyproject.toml
+++ b/blog_experiment/pyproject.toml
@@ -7,8 +7,10 @@ packages = [{include = "blog"}]
[tool.poetry.dependencies]
python = "^3.9"
+# bicephalus = { path = "../../bicephalus", develop = true }
bicephalus = { git = "https://github.com/alexpdp7/bicephalus.git" }
htmlgenerator = "^1.2.28"
+beautifulsoup4 = "^4.12.2"
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.2"