changing the way tag_index gets generated, so we can include other options like untagged
This commit is contained in:
parent
b6e9d1605d
commit
541dad60b0
|
@ -68,7 +68,8 @@ def generate_index_pages(template=config.template_index, template_nav=config.tem
|
||||||
# Build the files by filling out the template
|
# Build the files by filling out the template
|
||||||
file_loader = FileSystemLoader('')
|
file_loader = FileSystemLoader('')
|
||||||
env = Environment(loader=file_loader)
|
env = Environment(loader=file_loader)
|
||||||
template = env.get_template(template)
|
# regular index pagse use main template
|
||||||
|
template = env.get_template(config.template_file)
|
||||||
current_index_template = template.render(page_body=subPages, page_date=None, page_tags=None, page_navigation=generate_navigation(template_nav), page_title='index', config=config)
|
current_index_template = template.render(page_body=subPages, page_date=None, page_tags=None, page_navigation=generate_navigation(template_nav), page_title='index', config=config)
|
||||||
slugfile = config.build_folder + index + '_index.html'
|
slugfile = config.build_folder + index + '_index.html'
|
||||||
with open(slugfile, 'w', encoding=encoding) as fobj:
|
with open(slugfile, 'w', encoding=encoding) as fobj:
|
||||||
|
@ -77,11 +78,16 @@ def generate_index_pages(template=config.template_index, template_nav=config.tem
|
||||||
file_loader = FileSystemLoader('')
|
file_loader = FileSystemLoader('')
|
||||||
env = Environment(loader=file_loader)
|
env = Environment(loader=file_loader)
|
||||||
template = env.get_template(template)
|
template = env.get_template(template)
|
||||||
current_index_template = template.render(page_body="".join(metaIndexSubPages), page_date=None, page_tags=None, page_navigation=generate_navigation(template_nav), page_title='index', config=config)
|
# TODO tag_index subpage is sbroken
|
||||||
|
# create this page by parsing data instead of pages, like untagged below
|
||||||
|
print(metaIndexSubPages)
|
||||||
|
current_index_template = template.render(index_urls=metaIndexSubPages, page_date=None, page_tags=None, page_navigation=generate_navigation(template_nav), page_title='index', config=config)
|
||||||
slugfile = config.build_folder + 'tag_index.html'
|
slugfile = config.build_folder + 'tag_index.html'
|
||||||
with open(slugfile, 'w', encoding=encoding) as fobj:
|
with open(slugfile, 'w', encoding=encoding) as fobj:
|
||||||
fobj.write(current_index_template)
|
fobj.write(current_index_template)
|
||||||
|
|
||||||
|
# TODO import TagHelper.get_untagged() and make one of the indexs pages
|
||||||
|
|
||||||
|
|
||||||
# Generates html files in the site folder, using the entries and the template.
|
# Generates html files in the site folder, using the entries and the template.
|
||||||
def generate_html_pages(site_folder, entries, template, sub_pages_list, template_nav):
|
def generate_html_pages(site_folder, entries, template, sub_pages_list, template_nav):
|
||||||
|
@ -256,11 +262,8 @@ def get_date(page):
|
||||||
|
|
||||||
def parse_headings(page):
|
def parse_headings(page):
|
||||||
try:
|
try:
|
||||||
# TODO for some reason this one isn't being parsed by the regex
|
page = re.sub(r'= [\[\]a-zA-Z0-9:|+ ]* =',
|
||||||
if '= Kitaab =' in page:
|
lambda x: x.group().replace('=','###', 1).strip('='),
|
||||||
print(page)
|
|
||||||
page = re.sub(r'= [\[\]a-zA-Z0-9 ]* =',
|
|
||||||
lambda x: x.group().replace('=','#', 1).strip('='),
|
|
||||||
page)
|
page)
|
||||||
return page
|
return page
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@ -282,6 +285,7 @@ def create_entries(pages):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
markdown_text = open(page, 'r').read()
|
markdown_text = open(page, 'r').read()
|
||||||
|
markdown_text = parse_headings(markdown_text)
|
||||||
markdown_text = style_iframes(markdown_text)
|
markdown_text = style_iframes(markdown_text)
|
||||||
markdown_text = fix_images_urls(markdown_text)
|
markdown_text = fix_images_urls(markdown_text)
|
||||||
markdown_text = fix_wiki_links(markdown_text, path["folder"])
|
markdown_text = fix_wiki_links(markdown_text, path["folder"])
|
||||||
|
@ -290,7 +294,6 @@ def create_entries(pages):
|
||||||
markdown_text = remove_tags(markdown_text)
|
markdown_text = remove_tags(markdown_text)
|
||||||
markdown_text = remove_title(markdown_text)
|
markdown_text = remove_title(markdown_text)
|
||||||
markdown_text = remove_date(markdown_text)
|
markdown_text = remove_date(markdown_text)
|
||||||
markdown_text = parse_headings(markdown_text)
|
|
||||||
pageContent = markdown(markdown_text)
|
pageContent = markdown(markdown_text)
|
||||||
|
|
||||||
# Create the page object with all the informations we need
|
# Create the page object with all the informations we need
|
||||||
|
@ -391,7 +394,7 @@ def clean_path(path):
|
||||||
path_items["slug"] = path_items["folder"] + "/" + path_items["slug"]
|
path_items["slug"] = path_items["folder"] + "/" + path_items["slug"]
|
||||||
|
|
||||||
# TODO weird special case
|
# TODO weird special case
|
||||||
if "index" in path_items["file"]:
|
if "index" == path_items["file"]:
|
||||||
path_items["parent_url"] = ""
|
path_items["parent_url"] = ""
|
||||||
path_items["parent_text"] = config.home_name
|
path_items["parent_text"] = config.home_name
|
||||||
path_items["slug"] = "created_index" + ".html"
|
path_items["slug"] = "created_index" + ".html"
|
||||||
|
@ -424,7 +427,6 @@ def generate_sub_pages(entries, num, folder, title, title_name=""):
|
||||||
else:
|
else:
|
||||||
link_url = entry["file"] + ".html"
|
link_url = entry["file"] + ".html"
|
||||||
|
|
||||||
# TODO there's a comma being generated here somewhere in metaIndexSubPages that I'm trying to get rid of
|
|
||||||
if entry["file"] != "index":
|
if entry["file"] != "index":
|
||||||
entry_string = "<li><div style='overflow: hidden;'><h3 style='float:left;'><a href='" + \
|
entry_string = "<li><div style='overflow: hidden;'><h3 style='float:left;'><a href='" + \
|
||||||
link_url + \
|
link_url + \
|
||||||
|
|
|
@ -8,7 +8,7 @@ assets_folder = "asset/"
|
||||||
medias_folder = "media/"
|
medias_folder = "media/"
|
||||||
template_file = "partial/main.html"
|
template_file = "partial/main.html"
|
||||||
template_nav = "partial/nav.html"
|
template_nav = "partial/nav.html"
|
||||||
template_index = "partial/main.html"
|
template_index = "partial/index_table.html"
|
||||||
rss_template = "partial/rss.xml"
|
rss_template = "partial/rss.xml"
|
||||||
rss_item_template = "partial/item.xml"
|
rss_item_template = "partial/item.xml"
|
||||||
name_of_site = "Kitaab"
|
name_of_site = "Kitaab"
|
||||||
|
|
|
@ -43,6 +43,17 @@ def filterFiles(AllFileList):
|
||||||
print("Key not found: {}".format(mask))
|
print("Key not found: {}".format(mask))
|
||||||
return AllFileList - doNotTakeFiles
|
return AllFileList - doNotTakeFiles
|
||||||
|
|
||||||
|
def untaggedFiles(AllFileList=TagHelper.getAllFiles()):
|
||||||
|
toFilter = filter + censor
|
||||||
|
tagList = TagHelper.getAllTags()
|
||||||
|
doNotTakeFiles = set()
|
||||||
|
for mask in toFilter:
|
||||||
|
try:
|
||||||
|
doNotTakeFiles.update(tagList[mask])
|
||||||
|
except KeyError:
|
||||||
|
print("Key not found: {}".format(mask))
|
||||||
|
return set.difference(AllFileList, doNotTakeFiles)
|
||||||
|
|
||||||
def censorNetwork(network):
|
def censorNetwork(network):
|
||||||
# Takes network as a set
|
# Takes network as a set
|
||||||
for c in censor:
|
for c in censor:
|
||||||
|
|
65
src/kitaab-public/partial/index_table.html
Normal file
65
src/kitaab-public/partial/index_table.html
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>{{page_title}} | {{config.name_of_site}}</title>
|
||||||
|
<meta property="og:title" content="{{page_title}} | {{config.name_of_site}}">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:description"
|
||||||
|
content="config.site_meta_description">
|
||||||
|
<meta property="og:site_name" content="{{config.name_of_site}}">
|
||||||
|
<meta property="og:url" content="build_url">
|
||||||
|
<meta property="og:image" content="build_urlassets/social.png">
|
||||||
|
<meta property="og:image:height" content="300">
|
||||||
|
<meta property="og:image:width" content="300">
|
||||||
|
<meta property="og:image:type" content="image/jpeg">
|
||||||
|
<link rel="stylesheet" href="asset/style.css" type="text/css"
|
||||||
|
media="screen" title="no title" charset="utf-8">
|
||||||
|
<!-- Mastodon stuff should go here
|
||||||
|
<meta name="twitter:site" content="config.twitter_name">
|
||||||
|
<meta name="twitter:title" content="page_title | config.name_of_site">
|
||||||
|
<meta name="twitter:image" content="build_urlassets/social.png">
|
||||||
|
<meta name="twitter:image:alt" content="page_title | config.name_of_site">
|
||||||
|
--!>
|
||||||
|
<link rel="apple-touch-icon" sizes="57x57" href="build_urlassets/apple-icon-57x57.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="60x60" href="build_urlassets/apple-icon-60x60.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="72x72" href="build_urlassets/apple-icon-72x72.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="76x76" href="build_urlassets/apple-icon-76x76.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="114x114" href="build_urlassets/apple-icon-114x114.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="120x120" href="build_urlassets/apple-icon-120x120.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="144x144" href="build_urlassets/apple-icon-144x144.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="152x152" href="build_urlassets/apple-icon-152x152.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="build_urlassets/apple-icon-180x180.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="192x192" href="build_urlassets/android-icon-192x192.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="build_urlassets/favicon-32x32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="96x96" href="build_urlassets/favicon-96x96.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="build_urlassets/favicon-16x16.png">
|
||||||
|
<meta name="msapplication-TileColor" content="#5927e0">
|
||||||
|
<meta name="msapplication-TileImage" content="build_urlassets/ms-icon-144x144.png">
|
||||||
|
<meta name="theme-color" content="#5927e0">
|
||||||
|
<link rel="canonical" href="{{build_url}}">
|
||||||
|
<link rel="stylesheet" href="assets/main.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="flow-large container">
|
||||||
|
<header>
|
||||||
|
<div id='piles' style="float: right;">
|
||||||
|
<table style="width:100%">
|
||||||
|
{% set count = 0 %}
|
||||||
|
<tr>
|
||||||
|
{% for index_url in index_urls %}
|
||||||
|
<td>{{index_url}}</td>
|
||||||
|
{% set count = count + 1 %}
|
||||||
|
{% if count == 5 %}
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -49,6 +49,7 @@ media="screen" title="no title" charset="utf-8">
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
{{ page_navigation }}
|
{{ page_navigation }}
|
||||||
|
<h1> {{page_title}} </h1>
|
||||||
<div style='max-width:460px;'>
|
<div style='max-width:460px;'>
|
||||||
<article class="flow">
|
<article class="flow">
|
||||||
{{page_tags}}
|
{{page_tags}}
|
||||||
|
|
Loading…
Reference in a new issue