diff --git a/README.md b/README.md new file mode 100644 index 0000000..46c72d7 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# Codigo para llevar's generator + +This is the static site generator used to build [Codigo Para Llevar](https://codigoparallevar.com/) (my personal site). It contains: + +- A markdown blog (with content ported from acrylamid). Saved as `/blog/`. +- A set of org-mode based notes. Saved as `/notes/`. + +It also copies over some static assets (css, js, fonts). + +The scripts are hardcoded with the hostnames and paths for my own site, so you might want to update them. + +General documentation is in progress and might be replaced little by little by the more interactive [org-web-editor](https://code.codigoparallevar.com/kenkeiras/org-web-editor) once that one (1) supports all the features here and (2) has support for building static sites. diff --git a/scripts/generate.py b/scripts/generate.py index 3405a77..3c9252e 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -109,7 +109,9 @@ def load_all(top_dir_relative): path = os.path.join(root, name) try: - doc = load_org(open(path), extra_cautious=True) + doc = load_org(open(path), + environment={"org-todo-keywords": "TODO(t) NEXT(n) MEETING(m/!) Q(q) PAUSED(p!/!) EVENT(e/!) SOMETIME(s) WAITING(w@/!) TRACK(r/!) | DISCARDED(x@/!) VALIDATING(v!/!) DONE(d!/!)"}, + extra_cautious=True) docs.append(doc) except Exception as err: import traceback @@ -474,7 +476,7 @@ def render_block(content, acc, _class, is_code): acc.append('') def unindent(content): - base_indentation = min([ + base_indentation = min([0] + [ len(l) - len(l.lstrip(' ')) for l in content.split('\n') if len(l.strip()) > 0 @@ -736,10 +738,10 @@ def render(headline, doc, graph, headlineLevel, doc_to_headline_remapping): content.append(render(child, doc, headlineLevel=headlineLevel+1, graph=graph, doc_to_headline_remapping=doc_to_headline_remapping)) - if headline.state is None: + if headline.state is None or headline.state.get('name') is None: state = "" else: - state = f'{headline.state}' + state = f'{headline.state["name"]}' if headline.is_todo: todo_state = "todo"