From c1832daf3b2e12772b01d92cc59f9b38b458a9b1 Mon Sep 17 00:00:00 2001 From: Oxbian Date: Sun, 25 Jun 2023 00:26:05 +0200 Subject: Updating ArkaBlog & removing old things --- tools/page-generator.py | 162 ------------------------------------------------ 1 file changed, 162 deletions(-) delete mode 100644 tools/page-generator.py (limited to 'tools/page-generator.py') diff --git a/tools/page-generator.py b/tools/page-generator.py deleted file mode 100644 index 63526cb..0000000 --- a/tools/page-generator.py +++ /dev/null @@ -1,162 +0,0 @@ -import os -import html - -articles_path = 'articles/' -generate_path = 'pages/' -atom_content = "" -index_content = "

Articles

\n" - inul = False - - # Vérifie si on est dans un bloc de code - if line.startswith("```"): - if inpre: - content['content'] += "\n" - - content['content'] += "
" + line.lstrip("```")
-            inpre = True
-
-        # Vérifie si on est dans une citation
-        elif line.startswith(">"):
-            if inquote:
-                content['content'] += parseline(line.lstrip("> "))
-            else: 
-                content['content'] += "
" + parseline(line.lstrip("> ")) - inquote = True - - # Vérifie si on est dans un listing - elif line.startswith("-"): - if inul: - content['content'] += "\n" - content['content'] += "
  • " + parseline(line.lstrip("- ")) - else: - content['content'] += "
    • " + parseline(line.lstrip("- ")) - inul = True - - # Vérifie si on est dans un titre - elif line.startswith("###"): - content['content'] += "

      " + parseline(line.lstrip("# ")) + "

      \n" - elif line.startswith("##"): - content['content'] += "

      " + parseline(line.lstrip("# ")) + "

      \n" - elif line.startswith("#"): - content['title'] += parseline(line.lstrip("# ")) - - # Sinon, on est dans un paragraphe - elif line != " " and line != "": - content['content'] += "

      " + parseline(line) + "

      \n" - # Vérification que chaque balise est bien fermée - if inquote: - content['content'] += "
  • \n" - inquote = False - - if inul: - content['content'] += "\n" - inul = False - - if inpre: - content['content'] += "
    \n" - inpre = False - return content - -"""Parse une ligne de texte afin d'enlever les caractères spéciaux html, les liens, et symboles gras / italiques du markdown""" -def parseline(line): - # Change les &, <, > pour le support en HTML - html.escape(line) - - # Vérifie si on a des italiques ou gras - while '*' in line: - line = line.replace('*', '', 1) - line = line.replace('*', '', 1) - while '**' in line: - line = line.replace('**', '', 1) - line = line.replace('**', '', 1) - - # Vérifie si on a des images - while '![' in line and ']' in line: - title = line.split(']')[0].split('[')[1] - link = line.split(']')[1].split('(')[1].split(')')[0] - line = line.replace('![' + title + '](' + link + ')', '' + title + '') - - # Vérifie si on a des liens - while '[' in line and ']' in line: - title = line.split(']')[0].split('[')[1] - link = line.split(']')[1].split('(')[1].split(')')[0] - line = line.replace('[' + title + '](' + link + ')', '' + title + '') - return line - -"""Fonction pour transformer un fichier markdown en page html""" -def md2html(filename): - content = parsemd(filename) # Contenu parsé de notre fichier markdown - template = open('page_template.html', 'r').read() - - # Création du fichier html & ajout du contenu - output = open('../' + generate_path + filename.split('.')[0] + '.html', 'w') - output.write(template.replace("$CONTENT", content['content']).replace("$TITLE", content['title']). - replace("$DATE", content['date']).replace("$DESC", content['description'])) - output.close() - - # Génération du post Atom et de l'index - generatePageXML(content) - global index_content - index_content += '
  • ' + content['title'] + '
  • \n' - -""" Génère le post Atom""" -def generatePageXML(data): - global atom_content - template = open('atom_post_template.xml', 'r').read() - atom_content += template.replace("$TITLE", data['title']).replace("$DATE", data['date']).replace("$CONTENT", - data['content']).replace("$URL", "https://blog.arka.rocks/" + data['filename']) - -""" Génère le fichier Atom""" -def generateAtom(): - template = open('atom_template.xml', 'r').read() - output = open('../atom.xml', 'w') - output.write(template.replace("$CONTENT", atom_content)) - output.close() - -""" Génère l'index""" -def updateIndex(): - template = open('index_template.html', 'r').read() - output = open('../index.html', 'w') - output.write(template.replace("$CONTENT", index_content + '')) - output.close() - -if __name__=="__main__": - if not os.path.exists('../' + generate_path): - os.mkdir('../' + generate_path) - else: # Régénation du blog - for file in os.listdir('../' + generate_path): - os.remove('../' + generate_path + file) - os.remove('../atom.xml') - os.remove('../index.html') - - for file in os.listdir('../' + articles_path): - print("Génération en cours du fichier: " + file) - md2html(file) - print("Génération du fichier RSS / Atom") - generateAtom() - print("Génération de l'index") - updateIndex() -- cgit v1.2.3