Exemple #1
0
    def visit_slide(self, node):

        from hieroglyph import builder

        self.section_count += 1
        slide_level = node.attributes.get('level', self.section_level)

        if slide_level > self.builder.config.slide_levels:
            # dummy for matching div's
            self.body.append(
                self.starttag(
                    node, 'div', CLASS='section level-%s' % slide_level)
            )
            node.tag_name = 'div'
        else:
            slide_conf = slideconf.get_conf(self.builder, node.document)
            if (builder.building_slides(self.builder.app) and
                    slide_conf['autoslides'] and
                    isinstance(node.parent, nodes.section) and
                    not getattr(node.parent, 'closed', False)):

                # we're building slides and creating slides from
                # sections; close the previous section, if needed
                self.depart_slide(node.parent)

            node.closed = False
            self.body.append(
                self.starttag(
                    node, 'article',
                    CLASS='slide level-%s' % slide_level
                )
            )
            node.tag_name = 'article'
Exemple #2
0
    def depart_section(self, node):

        if slideconf.get_conf(self.builder, node.document)["autoslides"]:
            if self.section_level > self.builder.config.slide_levels:
                self.body.append("</div>")
            else:
                self.depart_slide(node)

            self.section_level -= 1
Exemple #3
0
    def visit_slide(self, node):

        from hieroglyph import builder

        slide_level = node.attributes.get("level", self.section_level)

        if slide_level > self.builder.config.slide_levels:
            # dummy for matching div's
            self.body.append(self.starttag(node, "div", CLASS="section level-%s" % slide_level))
            node.tag_name = "div"
        else:

            slide_conf = slideconf.get_conf(self.builder, node.document)
            if (
                builder.building_slides(self.builder.app)
                and slide_conf["autoslides"]
                and isinstance(node.parent, nodes.section)
                and not getattr(node.parent, "closed", False)
            ):

                # we're building slides and creating slides from
                # sections; close the previous section, if needed
                self.depart_slide(node.parent)

            # don't increment section_count until we've (potentially)
            # closed the previous slide
            self.section_count += 1

            node.closed = False

            classes = node.get("classes")
            if not classes:
                classes = slide_conf["slide_classes"]

            # self.body.append(
            #     self.starttag(
            #         node, 'article',
            #         CLASS='%s slide level-%s' % (
            #             ' '.join(classes),
            #             slide_level,
            #         ),
            #     )
            # )
            node.tag_name = "article"

            slide_id = node.get("ids")
            if slide_id:
                slide_id = slide_id[0]
            else:
                slide_id = ""

            assert self.current_slide is None
            self.current_slide = SlideData(
                self, id=slide_id, level=slide_level, classes=classes, slide_number=self.section_count
            )
            self.push_body()
Exemple #4
0
    def visit_section(self, node):

        # XXX: We're actually removing content that's not in slide
        # nodes with autoslides is false, so it's not clear that we
        # even need this guard.
        if (slideconf.get_conf(self.builder, node.document)['autoslides']
                or node.attributes.get('include-as-slide', False)):

            self.section_level += 1
            return self.visit_slide(node)
Exemple #5
0
    def visit_section(self, node):

        # XXX: We're actually removing content that's not in slide
        # nodes with autoslides is false, so it's not clear that we
        # even need this guard.
        if (slideconf.get_conf(self.builder, node.document)['autoslides'] or
                node.attributes.get('include-as-slide', False)):

            self.section_level += 1
            return self.visit_slide(node)
Exemple #6
0
    def depart_section(self, node):

        if (slideconf.get_conf(self.builder, node.document)['autoslides']
                or node.attributes.get('include-as-slide', False)):

            if self.section_level > self.builder.config.slide_levels:
                self.body.append('</div>')
            else:
                self.depart_slide(node)

            self.section_level -= 1
Exemple #7
0
    def depart_section(self, node):

        if (slideconf.get_conf(self.builder, node.document)['autoslides'] or
                node.attributes.get('include-as-slide', False)):

            if self.section_level > self.builder.config.slide_levels:
                self.body.append('</div>')
            else:
                self.depart_slide(node)

            self.section_level -= 1
Exemple #8
0
    def depart_section(self, node):

        if slideconf.get_conf(self.builder, node.document)["autoslides"] or node.attributes.get(
            "include-as-slide", False
        ):

            if self.section_level > self.builder.config.slide_levels:
                self.body.append("</div>")
            else:
                self.depart_slide(node)

            self.section_level -= 1
Exemple #9
0
    def visit_slide(self, node):

        from hieroglyph import builder

        slide_level = node.attributes.get('level', self.section_level)

        if slide_level > self.builder.config.slide_levels:
            # dummy for matching div's
            self.body.append(
                self.starttag(node,
                              'div',
                              CLASS='section level-%s' % slide_level))
            node.tag_name = 'div'
        else:
            slide_conf = slideconf.get_conf(self.builder, node.document)
            if (builder.building_slides(self.builder.app)
                    and slide_conf['autoslides']
                    and isinstance(node.parent, nodes.section)
                    and not getattr(node.parent, 'closed', False)):

                # we're building slides and creating slides from
                # sections; close the previous section, if needed
                self.depart_slide(node.parent)

            # don't increment section_count until we've (potentially)
            # closed the previous slide
            self.section_count += 1

            node.closed = False

            classes = []
            if not node.get('classes'):
                classes = slide_conf['slide_classes']

            self.body.append(
                self.starttag(
                    node,
                    'article',
                    CLASS='%s slide level-%s' % (
                        ' '.join(classes),
                        slide_level,
                    ),
                ))
            node.tag_name = 'article'
Exemple #10
0
    def visit_slide(self, node):

        from hieroglyph import builder

        slide_level = node.attributes.get("level", self.section_level)

        if slide_level > self.builder.config.slide_levels:
            # dummy for matching div's
            self.body.append(self.starttag(node, "div", CLASS="section level-%s" % slide_level))
            node.tag_name = "div"
        else:
            slide_conf = slideconf.get_conf(self.builder, node.document)
            if (
                builder.building_slides(self.builder.app)
                and slide_conf["autoslides"]
                and isinstance(node.parent, nodes.section)
                and not getattr(node.parent, "closed", False)
            ):

                # we're building slides and creating slides from
                # sections; close the previous section, if needed
                self.depart_slide(node.parent)

            # don't increment section_count until we've (potentially)
            # closed the previous slide
            self.section_count += 1

            node.closed = False

            classes = []
            if not node.get("classes"):
                classes = slide_conf["slide_classes"]

            self.body.append(
                self.starttag(node, "article", CLASS="%s slide level-%s" % (" ".join(classes), slide_level))
            )
            node.tag_name = "article"
Exemple #11
0
    def visit_slide(self, node):

        from hieroglyph import builder

        slide_level = node.attributes.get('level', self.section_level)

        if slide_level > self.builder.config.slide_levels:
            # dummy for matching div's
            self.body.append(
                self.starttag(node,
                              'div',
                              CLASS='section level-%s' % slide_level))
            node.tag_name = 'div'
        else:

            slide_conf = slideconf.get_conf(self.builder, node.document)
            if (builder.building_slides(self.builder.app)
                    and slide_conf['autoslides']
                    and isinstance(node.parent, nodes.section)
                    and not getattr(node.parent, 'closed', False)):

                # we're building slides and creating slides from
                # sections; close the previous section, if needed
                self.depart_slide(node.parent)

            # don't increment section_count until we've (potentially)
            # closed the previous slide
            self.section_count += 1

            node.closed = False

            classes = node.get('classes')
            if not classes:
                classes = slide_conf['slide_classes']

            # self.body.append(
            #     self.starttag(
            #         node, 'article',
            #         CLASS='%s slide level-%s' % (
            #             ' '.join(classes),
            #             slide_level,
            #         ),
            #     )
            # )
            node.tag_name = 'article'

            slide_id = node.get('ids')
            if slide_id:
                slide_id = slide_id[0]
            else:
                slide_id = ''

            continue_tag = node.get('continue_tag')
            if not continue_tag:
                continue_tag = ''

            assert self.current_slide is None
            self.current_slide = SlideData(
                self,
                id=slide_id,
                level=slide_level,
                classes=classes,
                slide_number=self.section_count,
                continue_tag=continue_tag,
            )
            self.push_body()
Exemple #12
0
    def visit_section(self, node):

        if slideconf.get_conf(self.builder, node.document)["autoslides"]:
            self.section_level += 1
            return self.visit_slide(node)