diff --git a/webgen-ni.py b/webgen-ni.py index eb3149f..1fc76e2 100755 --- a/webgen-ni.py +++ b/webgen-ni.py @@ -1,20 +1,38 @@ #!/usr/bin/env python3 -import sys, os, uuid, shutil, signal, subprocess, markdown, re, datetime, locale, glob +import sys, os, uuid, shutil, signal, subprocess, markdown2 as markdown, re, datetime, locale, glob from dialog import Dialog # If not choosen stdout as output, where should the generated file go to and what -# fileending (f.e. .html) shall it have +# fileending (f.e. .html) shall it have. Preset values. webbasedir = os.path.expanduser("~/www/i21k.de/") targetdir = webbasedir + "posts/" -sourcedir = os.path.expanduser("~/python/webgen/") +sourcedir = os.path.expanduser("~/python/webgen/mds/") + ### for module mkdirindex: filesdir = webbasedir + "files/" indexfilename = "index.html" filesdirheadline = "Files" #### +# for spellchecko +# Preferred: aspell -c filename +# +dospellcheck = os.getenv("SPELLCHECK") +spellcheck = "aspell" +spellcheckparam = "-c" + +# Configure Markdown, activate "break-on-newline" for letting a line end without havin to put doublespaces there. +# +# More options: +# break-on-newline, code-friendly, cuddled-lists, fenced-code-blocks, +# footnotes, header-ids, highlightjs-lang, html-classes, link-patterns, +# markdown-in-html, numbering, pyshell, smarty-pants, spoiler, strike, +# tag-friendly, tables, toc, use-file-vars, wiki-tables, xml + +markdown.Markdown.extras = ["footnotes", "break-on-newline"] + fileending = "" locale.setlocale(locale.LC_ALL, "") clear = "\x1b[2J\x1b[H" @@ -47,11 +65,19 @@ signal.signal(signal.SIGINT, sigint_handler) # call favorite editor with filename to write the text +# i am not shure bout that spellchecko, is it nessesary? + + def edit(headline): editor = os.getenv("EDITOR") if not editor: editor = "vim" subprocess.call([editor, headline]) + if dospellcheck: + print(yellow) + if input("You like to spellcheck it first [y/N]?") == "y": + subprocess.call([spellcheck, spellcheckparam, headline]) + print(green) return headline @@ -80,7 +106,7 @@ def selectfile(): # Nothing has been choosen, so lets ask for a topic to generate a filename if ausgewaehlt[0] == "cancel": -# newtopic = d.inputbox("Ok, gib hier ein neues Thema an:", width=xwidth, height=ywidth, title="Ein Thema wählen:", cancel="Exit") + newtopic = d.inputbox("Ok, gib hier ein neues Thema an:", width=xwidth, height=ywidth, title="Ein Thema wählen:", cancel="Exit") if newtopic[0] == "cancel" or newtopic[1] == "": sys.exit(yellow + "Na, dann eben nicht...") headline = newtopic[1] @@ -92,7 +118,7 @@ def selectfile(): headline = re.sub("\.md$", "", tabelle[int(ausgewaehlt[1])][1]) print(headline) -# a = input(yellow + "What do we dooo here?") + # a = input(yellow + "What do we dooo here?") # if the searched filename doesnt match an existing file we construct a new one if len(glob.glob(sourcedir + headline + ".md")) == 0: @@ -110,6 +136,7 @@ def selectfile(): return sourcefile, targetfile, headline + def mkdirindex(filesdir, indexfilename, filesdirheadline): """Dig the files-directory and generate an index.""" @@ -122,12 +149,12 @@ def mkdirindex(filesdir, indexfilename, filesdirheadline): ) style_fn = '' - head2 = "
" + head2 = "\n" body1 = 'Back