mirror of
https://gitlab.com/octtspacc/staticoso
synced 2025-06-05 22:09:23 +02:00
Gemlog format fix; Cringe XML sitemap generation
This commit is contained in:
@ -12,7 +12,7 @@
|
||||
from Libs.feedgen.feed import FeedGenerator
|
||||
from Modules.Utils import *
|
||||
|
||||
def MakeFeed(Pages, SiteName, SiteTagline, SiteDomain, MaxEntries, Lang, Minify=False):
|
||||
def MakeFeed(Pages, SiteName, SiteTagline, SiteDomain, MaxEntries, Lang, FullMap=False, Minify=False):
|
||||
Feed = FeedGenerator()
|
||||
Link = SiteDomain if SiteDomain else ' '
|
||||
Feed.id(Link)
|
||||
@ -24,21 +24,22 @@ def MakeFeed(Pages, SiteName, SiteTagline, SiteDomain, MaxEntries, Lang, Minify=
|
||||
Feed.language(Lang)
|
||||
|
||||
DoPages = []
|
||||
if FullMap:
|
||||
MaxEntries = 50000 # Sitemap standard limit
|
||||
for e in Pages:
|
||||
if MaxEntries != 0 and e[3]['Type'] == 'Post':
|
||||
if MaxEntries != 0 and (FullMap or (not FullMap and e[3]['Type'] == 'Post')):
|
||||
DoPages += [e]
|
||||
MaxEntries -= 1
|
||||
DoPages.reverse()
|
||||
|
||||
for File, Content, Titles, Meta, ContentHTML, SlimHTML, Description, Image in DoPages:
|
||||
if Meta['Type'] == 'Post':
|
||||
if FullMap or (not FullMap and Meta['Type'] == 'Post'):
|
||||
Entry = Feed.add_entry()
|
||||
File = '{}.html'.format(StripExt(File))
|
||||
Content = ReadFile('public/'+File)
|
||||
Link = SiteDomain + '/' + File if SiteDomain else ' '
|
||||
CreatedOn = GetFullDate(Meta['CreatedOn'])
|
||||
EditedOn = GetFullDate(Meta['EditedOn'])
|
||||
|
||||
Entry.id(Link)
|
||||
Entry.title(Meta['Title'] if Meta['Title'] else ' ')
|
||||
Entry.description(Description)
|
||||
@ -49,6 +50,9 @@ def MakeFeed(Pages, SiteName, SiteTagline, SiteDomain, MaxEntries, Lang, Minify=
|
||||
EditedOn = EditedOn if EditedOn else CreatedOn if CreatedOn and not EditedOn else '1970-01-01T00:00+00:00'
|
||||
Entry.updated(EditedOn)
|
||||
|
||||
os.mkdir('public/feed')
|
||||
Feed.atom_file('public/feed/atom.xml', pretty=(not Minify))
|
||||
Feed.rss_file('public/feed/rss.xml', pretty=(not Minify))
|
||||
if FullMap:
|
||||
Feed.atom_file('public/sitemap.xml', pretty=(not Minify))
|
||||
else:
|
||||
os.mkdir('public/feed')
|
||||
Feed.atom_file('public/feed/atom.xml', pretty=(not Minify))
|
||||
Feed.rss_file('public/feed/rss.xml', pretty=(not Minify))
|
||||
|
Reference in New Issue
Block a user