+
+
+
+
+
\ No newline at end of file
diff --git a/pyssg.xyz/live/blog/first.html b/pyssg.xyz/live/blog/first.html
new file mode 100644
index 0000000..2ba22e6
--- /dev/null
+++ b/pyssg.xyz/live/blog/first.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+First blog post for testing purposes -- pyssg blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
First blog post for testing purposes
+
+
By David Luévano
+
Created: Thu, Dec 15, 2022 @ 03:51 UTC
+
+
Even though I have this “blog” subdomain and page setup, doesn’t mean I’ll be blogging for pyssg, this is just to serve as an example for the types of sites that pyssg can be used for.
+
+
+
+
+
\ No newline at end of file
diff --git a/pyssg.xyz/live/blog/rss.xml b/pyssg.xyz/live/blog/rss.xml
new file mode 100644
index 0000000..20b4c4e
--- /dev/null
+++ b/pyssg.xyz/live/blog/rss.xml
@@ -0,0 +1,52 @@
+
+
+
+ pyssg blog
+ https://blog.pyssg.xyz
+
+ PySSG blog, the python static site generator official blog.
+ en-us
+ Blog
+ Copyright 2023 David Luévano Alvarado
+ david@luevano.xyz (David Luévano Alvarado)
+ david@luevano.xyz (David Luévano Alvarado)
+
+
+ pyssg v0.8.0
+ https://validator.w3.org/feed/docs/rss2.html
+ 30
+
+ https://static.pyssg.xyz/images/default.png
+ pyssg blog
+ https://blog.pyssg.xyz
+
+
+ Second blog post for testing purposes
+ https://blog.pyssg.xyz/a/second.html
+ https://blog.pyssg.xyz/a/second.html
+ Thu, 15 Dec 2022 04:17:11 GMT
+ English
+ Multiple-author
+ Short
+ Test
+ Update
+ This is just a post used for testing (the second).
+ A second “blog entry” for testing purposes which uses multiple authors and is inside a subdirectory.
+
Added a modification here after first submission.
]]>
+
+
+ First blog post for testing purposes
+ https://blog.pyssg.xyz/first.html
+ https://blog.pyssg.xyz/first.html
+ Thu, 15 Dec 2022 03:51:51 GMT
+ English
+ Short
+ Test
+ Update
+ This is just a post used for testing.
+ Even though I have this “blog” subdomain and page setup, doesn’t mean I’ll be blogging for pyssg, this is just to serve as an example for the types of sites that pyssg can be used for.]]>
+
+
+
\ No newline at end of file
diff --git a/pyssg.xyz/live/blog/sitemap.xml b/pyssg.xyz/live/blog/sitemap.xml
new file mode 100644
index 0000000..0a84fa2
--- /dev/null
+++ b/pyssg.xyz/live/blog/sitemap.xml
@@ -0,0 +1,48 @@
+
+
+
+ https://blog.pyssg.xyz/a/second.html
+ 2022-12-15
+ weekly
+ 1.0
+
+
+ https://blog.pyssg.xyz/first.html
+ 2022-12-15
+ weekly
+ 1.0
+
+
+
+ https://blog.pyssg.xyz/tag/@english.html
+
+ daily
+ 0.5
+
+
+ https://blog.pyssg.xyz/tag/@multiple-author.html
+
+ daily
+ 0.5
+
+
+ https://blog.pyssg.xyz/tag/@short.html
+
+ daily
+ 0.5
+
+
+ https://blog.pyssg.xyz/tag/@test.html
+
+ daily
+ 0.5
+
+
+ https://blog.pyssg.xyz/tag/@update.html
+
+ daily
+ 0.5
+
+
\ No newline at end of file
diff --git a/pyssg.xyz/live/blog/tag/@english.html b/pyssg.xyz/live/blog/tag/@english.html
new file mode 100644
index 0000000..f3fca24
--- /dev/null
+++ b/pyssg.xyz/live/blog/tag/@english.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+Posts filtered by english -- pyssg blog
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pyssg.xyz/live/pyssg.xyz/404.html b/pyssg.xyz/live/pyssg.xyz/404.html
index 860c6b5..0dea386 100644
--- a/pyssg.xyz/live/pyssg.xyz/404.html
+++ b/pyssg.xyz/live/pyssg.xyz/404.html
@@ -35,6 +35,10 @@
Home
+
diff --git a/pyssg.xyz/live/pyssg.xyz/rss.xml b/pyssg.xyz/live/pyssg.xyz/rss.xml
index 9dab7bb..b1269cf 100644
--- a/pyssg.xyz/live/pyssg.xyz/rss.xml
+++ b/pyssg.xyz/live/pyssg.xyz/rss.xml
@@ -37,6 +37,8 @@
Tue, 13 Dec 2022 04:37:03 GMTWelcome to the official pyssg website. This is as of now serving as a testing ground when I’m making changes to it.
+
Blog
+
You can find the blog (actually just a mock) here.
diff --git a/pyssg.xyz/src/blog/a/second.md b/pyssg.xyz/src/blog/a/second.md
new file mode 100644
index 0000000..1dce357
--- /dev/null
+++ b/pyssg.xyz/src/blog/a/second.md
@@ -0,0 +1,14 @@
+title: Second blog post for testing purposes
+author: David Luévano
+ Someone Else
+lang: en
+summary: This is just a post used for testing (the second).
+tags: test
+ english
+ short
+ update
+ multiple-author
+
+A second "blog entry" for testing purposes which uses multiple authors and is inside a subdirectory.
+
+Added a modification here after first submission.
\ No newline at end of file
diff --git a/pyssg.xyz/src/pyssg.xyz/index.md b/pyssg.xyz/src/pyssg.xyz/index.md
index 31a068c..27371cd 100644
--- a/pyssg.xyz/src/pyssg.xyz/index.md
+++ b/pyssg.xyz/src/pyssg.xyz/index.md
@@ -2,4 +2,8 @@ title: pyssg
Welcome to the official pyssg website. This is as of now serving as a testing ground when I'm making changes to it.
+## Blog
+
+You can find the blog (actually just a mock) [here](https://blog.luevano.xyz).
+
Get the RSS feed: [https://pyssg.xyz/rss.xml](https://pyssg.xyz/rss.xml)
\ No newline at end of file
diff --git a/src/pyssg/configuration.py b/src/pyssg/configuration.py
index d7c32ae..b68930c 100644
--- a/src/pyssg/configuration.py
+++ b/src/pyssg/configuration.py
@@ -51,13 +51,14 @@ def __expand_all_paths(config: dict) -> None:
# not necessary to type deeper than the first dict
def get_parsed_config(path: str) -> list[dict]:
log.debug('reading config file "%s"', path)
- config: list[dict] = get_parsed_yaml(path)
+ config_all: list[dict] = get_parsed_yaml(path)
mandatory_config: list[dict] = get_parsed_yaml('mandatory_config.yaml', 'pyssg.plt')
- log.info('found %s document(s) for configuration "%s"', len(config), path)
+ log.info('found %s document(s) for configuration "%s"', len(config_all), path)
log.debug('checking that config file is well formed (at least contains mandatory fields')
- __check_well_formed_config(config[0], mandatory_config)
- __expand_all_paths(config[0])
- return config
+ for config in config_all:
+ __check_well_formed_config(config, mandatory_config)
+ __expand_all_paths(config)
+ return config_all
# not necessary to type deeper than the first dict,
diff --git a/src/pyssg/page.py b/src/pyssg/page.py
index 6a1ce54..32caadb 100644
--- a/src/pyssg/page.py
+++ b/src/pyssg/page.py
@@ -44,16 +44,14 @@ class Page:
self.cdate_rss: str
self.cdate_sitemap: str
- self.mdate: str
- self.mdate_list: str
- self.mdate_list_sep: str
- self.mdate_rss: str
- self.mdate_sitemap: str
-
- # later assigned references to next and previous pages
- # not always assigned (tail ends), and the None helps check it, ignoring
- self.next: Page = None # type: ignore
- self.previous: Page = None # type: ignore
+ self.mdate: str | None = None
+ self.mdate_list: str | None = None
+ self.mdate_list_sep: str | None = None
+ self.mdate_rss: str | None = None
+ self.mdate_sitemap: str | None = None
+
+ self.next: Page | None = None
+ self.previous: Page | None = None
# also from self.meta, but for og metadata
self.og: dict[str, str] = dict()
--
cgit v1.2.3-70-g09d2