def make_section(self, numbering, slug, text, fragment=False, preview=False): """ Wrap section HTML in titles and nav. A fragment has no heading. A preview has a heading but no context,so no numbering. """ env = Environment(autoescape=True) tpl = env.from_string( trim(""" <section class="body depth-{{ depth }}"> {% if not fragment %} <nav class="button-list button-list-edge no-preview no-print"> <a class="button" href="{{ edit_link }}"> <i class="fa fa-pencil"></i> Edit </a> </nav> {% endif %} {{ content_html|safe }} </section> """)) content, _ = split_bibliography(text) blocks = BlockList(content) content_html = blocks.html(numbering, slug, self.settings, fragment, preview) return tpl.render(depth=len(numbering), edit_link=self.settings.get_base_uri('edit') + '/' + slug, content_html=content_html, fragment=fragment)
def make_index(self, text): """ Front matter preceding index text. Multi-author blocks are disabled for now; v.0.1.0 is SINGLE_USER. """ env = Environment(autoescape=True) tpl = env.from_string( trim(""" <header> {% if title_html != "" %} <hgroup> <h1 class="balance-text">{{ title_html|safe }}</h1> {% if summary != "" %} <h2 class="balance-text">{{ summary_html|safe }}</h2> {% endif %} </hgroup> {% endif %} {% if author != "" or email != "" %} <div class="author-list"> <address> {% if author != "" %} <div>{{ author }}</div> {% endif %} {% if email != "" %} <div><a href="mailto:{{ email }}">{{ email }}</a></div> {% endif %} </address> </div> {% endif %} {% if facebook != "" or twitter != "" %} <p class="space space-between"> {% if facebook != "" %} <a href="https://facebook.com/{{ facebook }}" target="_blank"> FB: {{ facebook }} </a> {% endif %} {% if twitter != "" %} <a href="https://twitter.com/{{ twitter }}" target="_blank"> TW: {{ twitter }} </a> {% endif %} </p> {% endif %} {% if date %} <p class="space" rel="date"> {% if parsed_date != None %} <time pubdate datetime="{{ parsed_date }}">{{ date }}</time> {% else %} {{ date }} {% endif %} </p> {% endif %} </header> <section class="depth-0"> {{ content_html|safe }} </section> """)) inline = Inline() content, _ = split_bibliography(text) blocks = BlockList(content) title, summary = blocks.pop_titles() content_html = blocks.html(['0'], 'index', self.settings, fragment=True) date_string = inline.process(self.settings.get('DATE', '')) try: dt = parse(date_string) date_yyyymmdd = dt.date().isoformat() except ValueError: date_yyyymmdd = None # author = self.split_author() return tpl.render( title_html=inline.process(title), summary_html=inline.process(summary), author=self.settings.get('AUTHOR', ''), email=self.settings.get('EMAIL', ''), facebook=self.settings.get('FACEBOOK', ''), twitter=self.settings.get('TWITTER', ''), date=date_string, parsed_date=date_yyyymmdd, edit_link=self.settings.get_base_uri('edit') + '/index', content_html=content_html, )