html: progress on HTML page build
This commit is contained in:
parent
7945f5473f
commit
9d8d54d5d4
|
@ -55,9 +55,6 @@ def post_IDs(file_post):
|
||||||
print(':< Unused argument file')
|
print(':< Unused argument file')
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# Set HTML file from file_post
|
|
||||||
file_html = file_post.replace('.tyto','.html')
|
|
||||||
|
|
||||||
# Check if file exists or exit
|
# Check if file exists or exit
|
||||||
global post_uri
|
global post_uri
|
||||||
post_uri = '%s%s'%(domain.domain_articles, file_post)
|
post_uri = '%s%s'%(domain.domain_articles, file_post)
|
||||||
|
@ -65,6 +62,16 @@ def post_IDs(file_post):
|
||||||
print(':< Unused file: %s'%post_uri)
|
print(':< Unused file: %s'%post_uri)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
global post_url
|
||||||
|
# Set HTML file from file_post
|
||||||
|
file_html = file_post.replace('.tyto','.html')
|
||||||
|
if file_html.endswith('index.html'):
|
||||||
|
file_html = file_html.remplace('index.html', '')
|
||||||
|
post_url = '%s%s/%s'%(
|
||||||
|
domain.domain_protocol, domain.domain_name, file_html
|
||||||
|
)
|
||||||
|
|
||||||
# From argument file_post
|
# From argument file_post
|
||||||
# Set WEB link prefix. Count / in uri
|
# Set WEB link prefix. Count / in uri
|
||||||
global weburi
|
global weburi
|
||||||
|
@ -1172,6 +1179,7 @@ def create_DB(post_db):
|
||||||
'post_ID = "%s"'%curr_post_ID,
|
'post_ID = "%s"'%curr_post_ID,
|
||||||
'post_db = "%s"'%post_db,
|
'post_db = "%s"'%post_db,
|
||||||
'post_tmp = "%s"'%post_tmp,
|
'post_tmp = "%s"'%post_tmp,
|
||||||
|
'post_url = "%s"'%post_url,
|
||||||
'\n# Article Status',
|
'\n# Article Status',
|
||||||
'post_chk = ("%s","%s")'%(hash_chk,time_chk),
|
'post_chk = ("%s","%s")'%(hash_chk,time_chk),
|
||||||
'post_wip = ("%s","%s")'%(hash_wip,time_wip),
|
'post_wip = ("%s","%s")'%(hash_wip,time_wip),
|
||||||
|
|
|
@ -81,6 +81,7 @@ except:
|
||||||
def append_f(f, line_val):
|
def append_f(f, line_val):
|
||||||
file = open(f, "a")
|
file = open(f, "a")
|
||||||
file.write('%s\n'%line_val)
|
file.write('%s\n'%line_val)
|
||||||
|
file.close()
|
||||||
|
|
||||||
#======================================#
|
#======================================#
|
||||||
# Just a generic exit #
|
# Just a generic exit #
|
||||||
|
@ -107,18 +108,12 @@ def exiting(process,out,msg):
|
||||||
#==========================#-------------------------------------------
|
#==========================#-------------------------------------------
|
||||||
def manage_domain(Domain, Opt):
|
def manage_domain(Domain, Opt):
|
||||||
if not Opt:
|
if not Opt:
|
||||||
try:
|
try: print('\n',datas_domain) # No option: get domain and print it
|
||||||
# No option: get domain and print it
|
except: sys.exit(0)
|
||||||
print('\n',datas_domain)
|
|
||||||
except:
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
elif Opt == 'New':
|
elif Opt == 'New':
|
||||||
try:
|
try: set_domain = Domain # Domain NAME is defined in CLI
|
||||||
# Domain NAME is defined in CLI
|
except: set_domain = ''
|
||||||
set_domain = Domain
|
|
||||||
except:
|
|
||||||
set_domain = ''
|
|
||||||
|
|
||||||
add_domain(set_domain)
|
add_domain(set_domain)
|
||||||
|
|
||||||
|
@ -147,8 +142,7 @@ def manage_domain(Domain, Opt):
|
||||||
#-----------------------------------#----------------------------------
|
#-----------------------------------#----------------------------------
|
||||||
def add_domain(set_domain):
|
def add_domain(set_domain):
|
||||||
# Exit if a domain already exists
|
# Exit if a domain already exists
|
||||||
if domain_active:
|
if domain_active: sys.exit(0)
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
global temp_domain
|
global temp_domain
|
||||||
temp_domain = '%s/tyto_domain.tmp'%curr_dir
|
temp_domain = '%s/tyto_domain.tmp'%curr_dir
|
||||||
|
@ -189,6 +183,7 @@ def add_domain(set_domain):
|
||||||
post_temp = file.read()
|
post_temp = file.read()
|
||||||
for line in post_temp.split('\n'):
|
for line in post_temp.split('\n'):
|
||||||
print(' │ %s'%line)
|
print(' │ %s'%line)
|
||||||
|
file.close()
|
||||||
|
|
||||||
# Ask to confirm to write activation domain
|
# Ask to confirm to write activation domain
|
||||||
print(' ├─────────────────────────────')
|
print(' ├─────────────────────────────')
|
||||||
|
@ -198,12 +193,33 @@ def add_domain(set_domain):
|
||||||
else:
|
else:
|
||||||
exiting('form', 1, '')
|
exiting('form', 1, '')
|
||||||
|
|
||||||
|
#==============#
|
||||||
|
# Get protocol #
|
||||||
|
#--------------#
|
||||||
|
def get_protocol(set_domain):
|
||||||
|
global domain_protocol
|
||||||
|
domain_protocol = ''
|
||||||
|
|
||||||
|
# check protocol https, http
|
||||||
|
if set_domain.startswith('https://'): domain_protocol = 'https://'
|
||||||
|
elif set_domain.startswith('http://') : domain_protocol = 'http://'
|
||||||
|
|
||||||
|
if domain_protocol:
|
||||||
|
set_domain = set_domain.replace(domain_protocol,"")
|
||||||
|
else:
|
||||||
|
confirm = input(' ├ Use "https" ? ')
|
||||||
|
if confirm in ['y', 'Y']: domain_protocol = 'https://'
|
||||||
|
else : domain_protocol = 'http://'
|
||||||
|
|
||||||
#==============================#
|
#==============================#
|
||||||
# If domain name is set in CLI #
|
# If domain name is set in CLI #
|
||||||
# Confirm process #
|
# Confirm process #
|
||||||
#------------------------------#
|
#------------------------------#
|
||||||
def domain_input_confirn(set_domain):
|
def domain_input_confirn(set_domain):
|
||||||
global domain_name
|
global domain_name
|
||||||
|
|
||||||
|
get_protocol(set_domain)
|
||||||
|
|
||||||
confirm = input(' ├ Add Domain (%s) here ? '%set_domain)
|
confirm = input(' ├ Add Domain (%s) here ? '%set_domain)
|
||||||
if confirm in ['y', 'Y']:
|
if confirm in ['y', 'Y']:
|
||||||
# Check if domain already registred
|
# Check if domain already registred
|
||||||
|
@ -220,11 +236,16 @@ def domain_input_confirn(set_domain):
|
||||||
# Add new domain_name #
|
# Add new domain_name #
|
||||||
#---------------------#
|
#---------------------#
|
||||||
def domain_input():
|
def domain_input():
|
||||||
global domain_name
|
global domain_name, domain_protocol
|
||||||
set_domain = input(' ├ Enter Domain Name: ')
|
set_domain = input(' ├ Enter Domain Name: ')
|
||||||
|
|
||||||
if not set_domain: exiting('root', 1, '')
|
if not set_domain: exiting('root', 1, '')
|
||||||
else : domain_name = set_domain
|
else : domain_name = set_domain
|
||||||
|
|
||||||
|
domain_protocol = ''
|
||||||
|
get_protocol(set_domain)
|
||||||
|
|
||||||
|
|
||||||
#====================#
|
#====================#
|
||||||
# Domain FORM #
|
# Domain FORM #
|
||||||
# domain_name is set #
|
# domain_name is set #
|
||||||
|
@ -241,6 +262,7 @@ def domain_form():
|
||||||
|
|
||||||
# Add settings from domain name before starting form
|
# Add settings from domain name before starting form
|
||||||
append_f(temp_domain,'domain_name = "%s"'%domain_name)
|
append_f(temp_domain,'domain_name = "%s"'%domain_name)
|
||||||
|
append_f(temp_domain,'domain_protocol = "%s"'%domain_protocol)
|
||||||
append_f(temp_domain,'domain_conf = "%s"'%conf_domain)
|
append_f(temp_domain,'domain_conf = "%s"'%conf_domain)
|
||||||
append_f(temp_domain,'domain_db = "%s"'%domain_db)
|
append_f(temp_domain,'domain_db = "%s"'%domain_db)
|
||||||
append_f(temp_domain,'domain_logs = "%s"'%domain_logs)
|
append_f(temp_domain,'domain_logs = "%s"'%domain_logs)
|
||||||
|
|
|
@ -23,10 +23,25 @@ def html_main_page():
|
||||||
post_db = exec(open(check.curr_post_db).read(),globals())
|
post_db = exec(open(check.curr_post_db).read(),globals())
|
||||||
|
|
||||||
# Metas in HTML page
|
# Metas in HTML page
|
||||||
|
#-------------------
|
||||||
scale = 'width=device-width, initial-scale=1.0'
|
scale = 'width=device-width, initial-scale=1.0'
|
||||||
visit = '3 days'
|
visit = '3 days'
|
||||||
title = '%s %s %s'%(post_title, domain.sep_titles, domain.domain_title)
|
title = '%s %s %s'%(post_title, domain.sep_titles, domain.domain_title)
|
||||||
tags = '%s,%s'%(domain.domain_tags, post_tags)
|
tags = '%s,%s'%(domain.domain_tags, post_tags)
|
||||||
|
icon = '/template/favicon.png'
|
||||||
|
f_css = '/template/styles.css'
|
||||||
|
f_rss = '/rss.xml'
|
||||||
|
i_rss = 'RSS 2.0, %s %s %s'%(
|
||||||
|
domain.domain_title, domain.sep_titles, domain.domain_name
|
||||||
|
)
|
||||||
|
|
||||||
|
# External URL in metas (if exists)
|
||||||
|
if domain.domain_exturl:
|
||||||
|
relme = '<link rel="me" type="text/html" href="%s">\n'%(
|
||||||
|
domain.domain_exturl
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
relme = ''
|
||||||
|
|
||||||
metas = '<meta charset="UTF-8" />\n' + \
|
metas = '<meta charset="UTF-8" />\n' + \
|
||||||
'<meta name="viewport" content="%s">\n'%scale + \
|
'<meta name="viewport" content="%s">\n'%scale + \
|
||||||
|
@ -42,7 +57,72 @@ def html_main_page():
|
||||||
'<meta name="description" content="%s">\n'%post_about + \
|
'<meta name="description" content="%s">\n'%post_about + \
|
||||||
'<meta name="keywords" content="%s">\n'%tags + \
|
'<meta name="keywords" content="%s">\n'%tags + \
|
||||||
'<meta name="search_date" content="%s">\n'%post_date + \
|
'<meta name="search_date" content="%s">\n'%post_date + \
|
||||||
'<title>%s</title>\n'%title
|
'<link rel="canonical" href="%s" />\n'%post_url + \
|
||||||
|
'<link rel="alternate" type="application/rss+xml" href="%s" title="%s" />\n'%(f_rss, i_rss) + \
|
||||||
|
'<link rel="stylesheet" media="screen" href="%s" />\n'%f_css + \
|
||||||
|
'<link rel="shortcut icon" type="image/png" href="%s" />\n'%icon + \
|
||||||
|
'%s'%relme + \
|
||||||
|
'<title>%s</title>'%title
|
||||||
|
|
||||||
print(metas)
|
# header in HTML page
|
||||||
|
#--------------------
|
||||||
|
headers = '<header class="%s">\n'%domain.domain_css + \
|
||||||
|
' <div id="logo-header">\n' + \
|
||||||
|
' <a id="logo-link" href="/">\n' + \
|
||||||
|
' <img id="%s_logo"\n'%domain.domain_css + \
|
||||||
|
' src="/template/%s"\n'%domain.domain_logo + \
|
||||||
|
' alt="Logo: %s"\n'%domain.domain_title + \
|
||||||
|
' title="Logo: %s" />\n'%domain.domain_title + \
|
||||||
|
' </a>\n' + \
|
||||||
|
' </div>\n' + \
|
||||||
|
' <div id="site-infos">\n' + \
|
||||||
|
' <h1 id="site-name">\n' + \
|
||||||
|
' <a id="site-link"\n' + \
|
||||||
|
' href="/"\n' + \
|
||||||
|
' title="%s %s %s">%s</a>\n'%(
|
||||||
|
domain.domain_title,
|
||||||
|
domain.sep_titles,
|
||||||
|
domain.domain_name,
|
||||||
|
domain.domain_title
|
||||||
|
) + \
|
||||||
|
' </h1>\n' + \
|
||||||
|
' <h2 id="site-about">%s</h2>\n'%domain.domain_about + \
|
||||||
|
' </div>\n' + \
|
||||||
|
'</header>\n'
|
||||||
|
|
||||||
|
# Article (in section, including aside)
|
||||||
|
articles = '<section id="wrapper">\n' + \
|
||||||
|
' <article id="article_%s" class="%s">\n'%(
|
||||||
|
post_ID, domain.domain_css
|
||||||
|
) + \
|
||||||
|
' <div id="metas">\n' + \
|
||||||
|
' <p>\n' + \
|
||||||
|
' <span id="%s">%s</span>\n'%(post_author, post_author) + \
|
||||||
|
' <span id="sep"> - </span>\n' + \
|
||||||
|
' <span id="date">%s</span>\n'%post_date + \
|
||||||
|
' </p>\n' + \
|
||||||
|
' </div>'
|
||||||
|
|
||||||
|
# Create full page
|
||||||
|
#-----------------
|
||||||
|
page = '<!DOCTYPE html>\n' + \
|
||||||
|
' <html lang="%s">\n'%domain.domain_lang + \
|
||||||
|
' <head>'
|
||||||
|
|
||||||
|
# Add tab metas in page
|
||||||
|
for meta in metas.rsplit('\n'):
|
||||||
|
page = '%s\n%s%s'%(page, 6*' ', meta)
|
||||||
|
|
||||||
|
page = '%s\n%s</head>\n'%(page, 4*' ') + \
|
||||||
|
'%s\n <body id="%s" class="%s">'%(4*' ', post_ID, domain.domain_css)
|
||||||
|
|
||||||
|
# Add tab header in page
|
||||||
|
for header in headers.rsplit('\n'):
|
||||||
|
page = '%s\n%s%s'%(page, 6*' ', header)
|
||||||
|
|
||||||
|
# Add tab article in page
|
||||||
|
for article in articles.rsplit('\n'):
|
||||||
|
page = '%s\n%s%s'%(page, 6*' ', article)
|
||||||
|
|
||||||
|
print(page)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue