class Redcarpet::Render::HTML - redcarpet-3.4.0 Documentation

# class Redcarpet::Render::HTML

### Public Class Methods

new(p1 = v1) click to toggle source

    static VALUE rb_redcarpet_html_init(int argc, VALUE *argv, VALUE self)
    {
            struct rb_redcarpet_rndr *rndr;
            unsigned int render_flags = 0;
            VALUE hash, link_attr = Qnil;

            Data_Get_Struct(self, struct rb_redcarpet_rndr, rndr);

            if (rb_scan_args(argc, argv, "01", &hash) == 1) {
                    Check_Type(hash, T_HASH);

                    /* Give access to the passed options through `@options` */
                    rb_iv_set(self, "@options", hash);

                    /* escape_html */
                    if (rb_hash_aref(hash, CSTR2SYM("escape_html")) == Qtrue)
                            render_flags |= HTML_ESCAPE;

                    /* filter_html */
                    if (rb_hash_aref(hash, CSTR2SYM("filter_html")) == Qtrue)
                            render_flags |= HTML_SKIP_HTML;

                    /* no_image */
                    if (rb_hash_aref(hash, CSTR2SYM("no_images")) == Qtrue)
                            render_flags |= HTML_SKIP_IMAGES;

                    /* no_links */
                    if (rb_hash_aref(hash, CSTR2SYM("no_links")) == Qtrue)
                            render_flags |= HTML_SKIP_LINKS;

                    /* prettify */
                    if (rb_hash_aref(hash, CSTR2SYM("prettify")) == Qtrue)
                            render_flags |= HTML_PRETTIFY;

                    /* filter_style */
                    if (rb_hash_aref(hash, CSTR2SYM("no_styles")) == Qtrue)
                            render_flags |= HTML_SKIP_STYLE;

                    /* safelink */
                    if (rb_hash_aref(hash, CSTR2SYM("safe_links_only")) == Qtrue)
                            render_flags |= HTML_SAFELINK;

                    if (rb_hash_aref(hash, CSTR2SYM("with_toc_data")) == Qtrue)
                            render_flags |= HTML_TOC;

                    if (rb_hash_aref(hash, CSTR2SYM("hard_wrap")) == Qtrue)
                            render_flags |= HTML_HARD_WRAP;

                    if (rb_hash_aref(hash, CSTR2SYM("xhtml")) == Qtrue)
                            render_flags |= HTML_USE_XHTML;

                    link_attr = rb_hash_aref(hash, CSTR2SYM("link_attributes"));
            }

            sdhtml_renderer(&rndr->callbacks, (struct html_renderopt *)&rndr->options.html, render_flags);
            rb_redcarpet__overload(self, rb_cRenderHTML);

            if (!NIL_P(link_attr)) {
                    rndr->options.link_attributes = link_attr;
                    rndr->options.html.link_attributes = &rndr_link_attributes;
            }

            return Qnil;
    }