From: alex Date: Sat, 7 Oct 2023 19:53:02 +0000 (+0200) Subject: Make blog work as container X-Git-Tag: 20240214-emacs~256 X-Git-Url: https://xn--ix-yja.es/gitweb/?a=commitdiff_plain;h=a4d7a6d6b23180660d53df499a72e8af3548a8c1;p=alex.git 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 --- diff --git a/.gitmodules b/.gitmodules index ed8cbbd..6e6c22c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,6 @@ [submodule "personal_infra/talos-check"] path = personal_infra/talos-check url = https://github.com/alexpdp7/talos-check.git +[submodule "blog_experiment/gemini_blog"] + path = blog_experiment/gemini_blog + url = https://github.com/alexpdp7/gemini_blog.git diff --git a/blog_experiment/blog/html.py b/blog_experiment/blog/html.py index a114318..6c3b009 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 0000000..bffd479 --- /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 index 0000000..4f86ec0 --- /dev/null +++ b/blog_experiment/gemini_blog @@ -0,0 +1 @@ +Subproject commit 4f86ec0553d659fe3253a92657d85a96734d0048 diff --git a/blog_experiment/poetry.lock b/blog_experiment/poetry.lock index 2ae7572..4e772ef 100644 --- a/blog_experiment/poetry.lock +++ b/blog_experiment/poetry.lock @@ -197,6 +197,25 @@ files = [ {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] +[[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" @@ -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" @@ -888,6 +907,18 @@ files = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] +[[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" @@ -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 554e93f..d2a7d0e 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"