diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | README.md | 6 | ||||
-rw-r--r-- | pyssg.xyz/db.psv | 2 | ||||
-rw-r--r-- | pyssg.xyz/live/blog/rss.xml | 2 | ||||
-rw-r--r-- | pyssg.xyz/live/pyssg.xyz/index.html | 2 | ||||
-rw-r--r-- | pyssg.xyz/live/pyssg.xyz/rss.xml | 4 | ||||
-rw-r--r-- | pyssg.xyz/live/pyssg.xyz/sitemap.xml | 2 | ||||
-rw-r--r-- | pyssg.xyz/plt/blog/index.html | 8 | ||||
-rw-r--r-- | pyssg.xyz/plt/blog/page.html | 6 | ||||
-rw-r--r-- | pyssg.xyz/plt/blog/tag.html | 8 | ||||
-rw-r--r-- | pyssg.xyz/src/pyssg.xyz/index.md | 2 | ||||
-rw-r--r-- | src/pyssg/builder.py | 4 | ||||
-rw-r--r-- | src/pyssg/page.py | 23 | ||||
-rw-r--r-- | src/pyssg/plt/index.html | 8 | ||||
-rw-r--r-- | src/pyssg/plt/mandatory_config.yaml | 2 | ||||
-rw-r--r-- | src/pyssg/plt/page.html | 6 | ||||
-rw-r--r-- | src/pyssg/plt/tag.html | 8 | ||||
-rw-r--r-- | src/pyssg/utils.py | 6 |
18 files changed, 45 insertions, 63 deletions
@@ -1,6 +1,15 @@ CHANGES ======= +v0.8.1 +------ + +* add more files, fixed bugs related to multiple documents in yaml config +* add new files for pyssg.xyz, add multiple document support +* add pyssg.xyz configs and templates +* update pyssg.xyz site files +* fix for twine upload to pypi + v0.8.0 ------ @@ -194,15 +194,9 @@ These variables are exposed to use within the templates. The below list is displ - `summary` (`str`): summary of the page, as specified in the `*.md` file. - `content` (`str`): actual content of the page, this is the `html`. - `cdatetime` (`str`): creation datetime object of the page. - - `cdate` (`str`): formatted `cdatetime` as the config option `fmt/date`. - - `cdate_list` (`str`): formatted `cdatetime` as the config option `fmt/list_date`. - - `cdate_list_sep` (`str`): formatted `cdatetime` as the config option `fmt/list_sep_date`. - `cdate_rss` (`str`): formatted `cdatetime` as required by rss. - `cdate_sitemap` (`str`): formatted `cdatetime` as required by sitemap. - `mdatetime` (`str`): modification datetime object of the page. Defaults to `None`. - - `mdate` (`str`): formatted `mdatetime` as the config option `fmt/date`. Defaults to `None`. - - `mdate_list` (`str`): formatted `mdatetime` as the config option `fmt/list_date`. - - `mdate_list_sep` (`str`): formatted `mdatetime` as the config option `fmt/list_sep_date`. - `mdate_rss` (`str`): formatted `mdatetime` as required by rss. - `mdate_sitemap` (`str`): formatted `mdatetime` as required by sitemap. - `tags` (`list(tuple(str))`): list of tuple of tags of the page, containing the name and the url of the tag, in that order. Defaults to empty list. diff --git a/pyssg.xyz/db.psv b/pyssg.xyz/db.psv index 6e25b3e..ed24daa 100644 --- a/pyssg.xyz/db.psv +++ b/pyssg.xyz/db.psv @@ -1,4 +1,4 @@ test.md|1670227510.7104242|1670481891.6152065|21ef9b29a3a7b73718b244c9f32ef576|-
subdir/test2.md|1670237921.0787709|0.0|309bd695d912634400f1d50b65d51ba3|-
-index.md|1670906223.8776777|1671077575.953031|4bb24fb729562b6793486b503d8b9e5c|-
+index.md|1670906223.8776777|1672126402.9697309|010d046f05dd9bb794ad76c7ddcc36a5|-
404.md|1670985271.2221887|0.0|184dcb50b5aeba89d98679f29f7b6d9e|-
diff --git a/pyssg.xyz/live/blog/rss.xml b/pyssg.xyz/live/blog/rss.xml index 20b4c4e..bb30671 100644 --- a/pyssg.xyz/live/blog/rss.xml +++ b/pyssg.xyz/live/blog/rss.xml @@ -14,7 +14,7 @@ <webMaster>david@luevano.xyz (David Luévano Alvarado)</webMaster> <pubDate></pubDate> <lastBuildDate></lastBuildDate> - <generator>pyssg v0.8.0</generator> + <generator>pyssg v0.8.1</generator> <docs>https://validator.w3.org/feed/docs/rss2.html</docs> <ttl>30</ttl> <image> diff --git a/pyssg.xyz/live/pyssg.xyz/index.html b/pyssg.xyz/live/pyssg.xyz/index.html index 4c8d4d7..5a291a8 100644 --- a/pyssg.xyz/live/pyssg.xyz/index.html +++ b/pyssg.xyz/live/pyssg.xyz/index.html @@ -60,7 +60,7 @@ <p>Welcome to the official pyssg website. This is as of now serving as a testing ground when I’m making changes to it.</p> <h2 id="blog">Blog</h2> -<p>You can find the blog (actually just a mock) <a href="https://blog.luevano.xyz">here</a>.</p> +<p>You can find the blog (actually just a mock) <a href="https://blog.pyssg.xyz">here</a>.</p> <p>Get the RSS feed: <a href="https://pyssg.xyz/rss.xml">https://pyssg.xyz/rss.xml</a></p> </main> diff --git a/pyssg.xyz/live/pyssg.xyz/rss.xml b/pyssg.xyz/live/pyssg.xyz/rss.xml index b1269cf..b039e25 100644 --- a/pyssg.xyz/live/pyssg.xyz/rss.xml +++ b/pyssg.xyz/live/pyssg.xyz/rss.xml @@ -14,7 +14,7 @@ <webMaster>david@luevano.xyz (David Luévano Alvarado)</webMaster> <pubDate></pubDate> <lastBuildDate></lastBuildDate> - <generator>pyssg v0.8.0</generator> + <generator>pyssg v0.8.1</generator> <docs>https://validator.w3.org/feed/docs/rss2.html</docs> <ttl>30</ttl> <image> @@ -38,7 +38,7 @@ <description></description> <content:encoded><![CDATA[<p>Welcome to the official pyssg website. This is as of now serving as a testing ground when I’m making changes to it.</p> <h2 id="blog">Blog</h2> -<p>You can find the blog (actually just a mock) <a href="https://blog.luevano.xyz">here</a>.</p> +<p>You can find the blog (actually just a mock) <a href="https://blog.pyssg.xyz">here</a>.</p> <p>Get the RSS feed: <a href="https://pyssg.xyz/rss.xml">https://pyssg.xyz/rss.xml</a></p>]]></content:encoded> </item> </channel> diff --git a/pyssg.xyz/live/pyssg.xyz/sitemap.xml b/pyssg.xyz/live/pyssg.xyz/sitemap.xml index bbf8a85..8d5df21 100644 --- a/pyssg.xyz/live/pyssg.xyz/sitemap.xml +++ b/pyssg.xyz/live/pyssg.xyz/sitemap.xml @@ -10,7 +10,7 @@ </url> <url> <loc>https://pyssg.xyz/index.html</loc> - <lastmod>2022-12-15</lastmod> + <lastmod>2022-12-27</lastmod> <changefreq>weekly</changefreq> <priority>1.0</priority> </url> diff --git a/pyssg.xyz/plt/blog/index.html b/pyssg.xyz/plt/blog/index.html index 9086232..057cd79 100644 --- a/pyssg.xyz/plt/blog/index.html +++ b/pyssg.xyz/plt/blog/index.html @@ -48,13 +48,13 @@ <ul> {%for p in all_pages%} {%if loop.previtem%} - {%if loop.previtem.cdate_list_sep !=p.cdate_list_sep%} - <h3>{{p.cdate_list_sep}}</h3> + {%if loop.previtem.cdatetime.strftime(config['fmt']['list_sep_date']) != p.cdatetime.strftime(config['fmt']['list_sep_date'])%} + <h3>{{p.cdatetime.strftime(config['fmt']['list_sep_date'])}}</h3> {%endif%} {%else%} - <h3>{{p.cdate_list_sep}}</h3> + <h3>{{p.cdatetime.strftime(config['fmt']['list_sep_date'])}}</h3> {%endif%} - <li>{{p.cdate_list}} - <a href="{{p.url}}">{{p.title}}</a></li> + <li>{{p.cdatetime.strftime(config['fmt']['list_date'])}} - <a href="{{p.url}}">{{p.title}}</a></li> {%endfor%} </ul> {%endblock body_content%} diff --git a/pyssg.xyz/plt/blog/page.html b/pyssg.xyz/plt/blog/page.html index bd79b15..06746ba 100644 --- a/pyssg.xyz/plt/blog/page.html +++ b/pyssg.xyz/plt/blog/page.html @@ -38,9 +38,9 @@ <h1>{{page.title}}</h1> <p>By {{', '.join(page.author)}}</p> - <p>Created: {{page.cdate}}</p> - {%if page.mdate is not none%} - <p>Modified: {{page.mdate}}</p> + <p>Created: {{page.cdatetime.strftime(config['fmt']['date'])}}</p> + {%if page.mdatetime is not none%} + <p>Modified: {{page.mdatetime.strftime(config['fmt']['date'])}}</p> {%endif%} {{page.content}} diff --git a/pyssg.xyz/plt/blog/tag.html b/pyssg.xyz/plt/blog/tag.html index 53499b1..5b05d7f 100644 --- a/pyssg.xyz/plt/blog/tag.html +++ b/pyssg.xyz/plt/blog/tag.html @@ -42,13 +42,13 @@ <ul> {%for p in tag_pages%} {%if loop.previtem%} - {%if loop.previtem.cdate_list_sep !=p.cdate_list_sep%} - <h3>{{p.cdate_list_sep}}</h3> + {%if loop.previtem.cdatetime.strftime(config['fmt']['list_sep_date']) != p.cdatetime.strftime(config['fmt']['list_sep_date'])%} + <h3>{{p.cdatetime.strftime(config['fmt']['list_sep_date'])}}</h3> {%endif%} {%else%} - <h3>{{p.cdate_list_sep}}</h3> + <h3>{{p.cdatetime.strftime(config['fmt']['list_sep_date'])}}</h3> {%endif%} - <li>{{p.cdate_list}} - <a href="{{p.url}}">{{p.title}}</a></li> + <li>{{p.cdatetime.strftime(config['fmt']['list_date'])}} - <a href="{{p.url}}">{{p.title}}</a></li> {%endfor%} </ul> {%endblock body_content%} diff --git a/pyssg.xyz/src/pyssg.xyz/index.md b/pyssg.xyz/src/pyssg.xyz/index.md index 27371cd..ef30baa 100644 --- a/pyssg.xyz/src/pyssg.xyz/index.md +++ b/pyssg.xyz/src/pyssg.xyz/index.md @@ -4,6 +4,6 @@ Welcome to the official pyssg website. This is as of now serving as a testing gr ## Blog -You can find the blog (actually just a mock) [here](https://blog.luevano.xyz). +You can find the blog (actually just a mock) [here](https://blog.pyssg.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/builder.py b/src/pyssg/builder.py index 582eb74..c70994d 100644 --- a/src/pyssg/builder.py +++ b/src/pyssg/builder.py @@ -74,10 +74,10 @@ class Builder: self.dirs = get_dir_structure(self.dir_cfg['src'], self.dir_cfg['exclude_dirs']) self.md_files = get_file_list(self.dir_cfg['src'], - tuple('.md'), + ('.md',), self.dir_cfg['exclude_dirs']) self.html_files = get_file_list(self.dir_cfg['src'], - tuple('.html'), + ('.html',), self.dir_cfg['exclude_dirs']) self.__create_dir_structure() diff --git a/src/pyssg/page.py b/src/pyssg/page.py index 32caadb..0161f25 100644 --- a/src/pyssg/page.py +++ b/src/pyssg/page.py @@ -22,7 +22,6 @@ class Page: self.mtimestamp: float = mtime self.content: str = html self.meta: dict = meta - # TODO: need to fix this to use the dir_config stuff self.config: dict = config self.dir_config: dict = dir_config @@ -32,21 +31,14 @@ class Page: self.summary: str self.lang: str self.cdatetime: datetime - self.mdatetime: datetime + self.mdatetime: datetime | None = None self.tags: list[tuple[str, str]] = [] # constructed self.url: str self.image_url: str - self.cdate: str - self.cdate_list: str - self.cdate_list_sep: str self.cdate_rss: str self.cdate_sitemap: str - - 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 @@ -77,24 +69,15 @@ class Page: self.lang = self.__get_meta('lang', ['en'])[0] log.debug('parsing timestamp') - self.cdatetime = datetime.fromtimestamp(self.ctimestamp, - tz=timezone.utc) - # these could be actual function + self.cdatetime = datetime.fromtimestamp(self.ctimestamp, tz=timezone.utc) cdate = lambda x : self.cdatetime.strftime(self.config['fmt'][x]) - mdate = lambda x : self.mdatetime.strftime(self.config['fmt'][x]) - - self.cdate = cdate('date') - self.cdate_list = cdate('list_date') - self.cdate_list_sep = cdate('list_sep_date') self.cdate_rss = cdate('rss_date') self.cdate_sitemap = cdate('sitemap_date') if self.mtimestamp != 0.0: log.debug('parsing modified timestamp') self.mdatetime = datetime.fromtimestamp(self.mtimestamp, tz=timezone.utc) - self.mdate = mdate('date') - self.mdate_list = mdate('list_date') - self.mdate_list_sep = mdate('list_sep_date') + mdate = lambda x : self.mdatetime.strftime(self.config['fmt'][x]) # type: ignore self.mdate_rss = mdate('rss_date') self.mdate_sitemap = mdate('sitemap_date') else: diff --git a/src/pyssg/plt/index.html b/src/pyssg/plt/index.html index 96d66ef..c33fd37 100644 --- a/src/pyssg/plt/index.html +++ b/src/pyssg/plt/index.html @@ -19,13 +19,13 @@ <ul> {%for p in all_pages%} {%if loop.previtem%} - {%if loop.previtem.cdate_list_sep !=p.cdate_list_sep%} - <h3>{{p.cdate_list_sep}}</h3> + {%if loop.previtem.cdatetime.strftime(config['fmt']['list_sep_date']) != p.cdatetime.strftime(config['fmt']['list_sep_date'])%} + <h3>{{p.cdatetime.strftime(config['fmt']['list_sep_date'])}}</h3> {%endif%} {%else%} - <h3>{{p.cdate_list_sep}}</h3> + <h3>{{p.cdatetime.strftime(config['fmt']['list_sep_date'])}}</h3> {%endif%} - <li>{{p.cdate_list}} - <a href="{{p.url}}">{{p.title}}</a></li> + <li>{{p.cdatetime.strftime(config['fmt']['list_date'])}} - <a href="{{p.url}}">{{p.title}}</a></li> {%endfor%} </ul> </body> diff --git a/src/pyssg/plt/mandatory_config.yaml b/src/pyssg/plt/mandatory_config.yaml index c1ce9f2..4b4acac 100644 --- a/src/pyssg/plt/mandatory_config.yaml +++ b/src/pyssg/plt/mandatory_config.yaml @@ -10,8 +10,6 @@ url: main: fmt: date: - list_date: - list_sep_date: dirs: /: ... diff --git a/src/pyssg/plt/page.html b/src/pyssg/plt/page.html index d7f5e43..08e92f1 100644 --- a/src/pyssg/plt/page.html +++ b/src/pyssg/plt/page.html @@ -8,9 +8,9 @@ <body> <h1>{{page.title}}</h1> <p>By {{page.author}}</p> - <p>Created: {{page.cdate}}</p> - {%if page.mdate is not none%} - <p>Modified: {{page.mdate}}</p> + <p>Created: {{page.cdatetime.strftime(config['fmt']['date'])}}</p> + {%if page.mdatetime is not none%} + <p>Modified: {{page.mdatetime.strftime(config['fmt']['date'])}}</p> {%endif%} {{page.content}} diff --git a/src/pyssg/plt/tag.html b/src/pyssg/plt/tag.html index 59cbdf1..2dd7177 100644 --- a/src/pyssg/plt/tag.html +++ b/src/pyssg/plt/tag.html @@ -13,13 +13,13 @@ <ul> {%for p in tag_pages%} {%if loop.previtem%} - {%if loop.previtem.cdate_list_sep !=p.cdate_list_sep%} - <h3>{{p.cdate_list_sep}}</h3> + {%if loop.previtem.cdatetime.strftime(config['fmt']['list_sep_date']) != p.cdatetime.strftime(config['fmt']['list_sep_date'])%} + <h3>{{p.cdatetime.strftime(config['fmt']['list_sep_date'])}}</h3> {%endif%} {%else%} - <h3>{{p.cdate_list_sep}}</h3> + <h3>{{p.cdatetime.strftime(config['fmt']['list_sep_date'])}}</h3> {%endif%} - <li>{{p.cdate_list}} - <a href="{{p.url}}">{{p.title}}</a></li> + <li>{{p.cdatetime.strftime(config['fmt']['list_date'])}} - <a href="{{p.url}}">{{p.title}}</a></li> {%endfor%} </ul> </body> diff --git a/src/pyssg/utils.py b/src/pyssg/utils.py index e63ee08..8300a5c 100644 --- a/src/pyssg/utils.py +++ b/src/pyssg/utils.py @@ -12,9 +12,7 @@ def get_file_list(path: str, exts: tuple[str], exclude_dirs: list[str] = []) -> list[str]: log.debug('retrieving file list in path "%s" that contain file' - ' extensions (%s) except directories (%s)', - path, ', '.join(exts), - ', '.join(exclude_dirs)) + ' extensions %s except directories %s', path, exts, exclude_dirs) file_list: list[str] = [] for root, dirs, files in os.walk(path): if exclude_dirs != []: @@ -29,7 +27,7 @@ def get_file_list(path: str, file, path, file_name) else: log.debug('ignoring file "%s" as it doesn\'t contain' - ' any of the extensions (%s)', file, ', '.join(exts)) + ' any of the extensions %s', file, exts) return file_list |