First work on HTML to Gemtext

This commit is contained in:
octospacc 2022-06-29 00:17:52 +02:00
parent f6291726f6
commit fc3c0b8be6
2 changed files with 46 additions and 4 deletions

View File

@ -19,16 +19,18 @@ from Libs.markdown import Markdown
from Libs.markdown import markdown
from pathlib import Path
from Modules.Feed import *
from Modules.Gemini import *
from Modules.Utils import *
Extensions = {
'Pages': ('md', 'pug')}
def ResetPublic():
try:
shutil.rmtree('public')
except FileNotFoundError:
pass
for i in ('public', 'public.gmi'):
try:
shutil.rmtree(i)
except FileNotFoundError:
pass
def GetLevels(Path, AsNum=False, Add=0, Sub=0):
n = Path.count('/') + Add - Sub
@ -473,6 +475,11 @@ def Main(Args):
Lang=SiteLang,
Minify=True if Args.Minify and Args.Minify not in ('False', 'None') else False)
#HTML2Gemtext(
# Pages=Pages,
# SiteName=SiteName,
# SiteTagline=SiteTagline)
DelTmp()
os.system("cp -R Assets/* public/")

35
Source/Modules/Gemini.py Normal file
View File

@ -0,0 +1,35 @@
""" ================================= |
| This file is part of |
| staticoso |
| Just a simple Static Site Generator |
| |
| Licensed under the AGPLv3 license |
| Copyright (C) 2022, OctoSpacc |
| ================================= """
from Libs.bs4 import BeautifulSoup
from Modules.Utils import *
def HTML2Gemtext(Pages, SiteName, SiteTagline):
os.mkdir('public.gmi')
for File, Content, Titles, Meta, HTMLContent, Description, Image in Pages:
Parse = BeautifulSoup(HTMLContent, 'html.parser')
# We should first get the most basic HTML elements, convert them to Gemtext, then replace the Gemtext in the original full HTML, and then removing <p> tags?
#print(File, Parse.find_all('p'), Parse.find_all('li'))
""" Gemtext:
# h1
## h2
### h3
* li
* li
=> [protocol://]URL Link Description
> Quote
```
Preformatted
```
"""