.categories [0] * .cForumList; {
    li child@,
    * -has@"[0] li l@[1]" self@
}; {
    h2 child@; {
        .name * -title c@[0] i@>[1:] | "%i",
        .link [-] a | "%(href)v"
    },
    .forums {
        ol .ipsDataList child@; li child@,
        div .ipsForumGrid; div child@
    }; {
        [0] div ( .ipsDataItem_icon )( .cForumGrid__icon ); {
            .status [0] span class | "%(class)v" sed "s/.*cForumIcon_//; s/ .*//",
            .icon [0] img src | "%(src)v"
        },
        .icon2 [0] span .cForumGrid__hero-image data-background-src | "%(data-background-src)v",
        div ( .ipsDataItem_main )( .cForumGrid__content ); {
            * ( .ipsDataItem_title )( .cForumGrid__title ); [0] a; {
                .title @ |"%i",
                .link @ | "%(href)v"
            },
            .description [0] * .ipsType_richText | "%T" trim,
        },
        .posts {
            [0] dt .ipsDataItem_stats_number | "%i",
            [0] ul .cForumGrid__title-stats; [0] li c@[0] | "%i" sed "s/ .*//"
        },
        .followers [0] ul .cForumGrid__title-stats; [0] a c@[0] | "%i" sed "s/ .*//",
        .childboards ul ( .ipsDataItem_subList )( .cForumGrid__subforums ); a; {
            .name @ | "%i",
            .link @ | "%(href)v"
        } | ,
        .lastpost [0] * ( .ipsDataItem_lastPoster )( .cForumGrid__last ); {
            .avatar * .ipsUserPhoto; [0] img src | "%(src)v",
            * .ipsDataItem_lastPoster__title; [0] a; {
                .title @ | "%i",
                .link @ | "%(href)v"
            },
            li .ipsType_light; [0] a .ipsType_break; {
                .user * c@[0] | "%i",
                .user_link @ | "%(href)v"
            },
            .date time datetime | "%(datetime)v"
        }
    } |
} | ,
.threads [0] ol .cTopicList; li child@; {
    .avatar div .ipsTopicSnippet__avatar; [0] img | "%(src)v",
    [0] * .ipsDataItem_title; {
        .icons.a i | "%(class)v\n" / sed "s/.*fa-//",
        [0] a -rel=tag; {
            .title * c@[0] | "%i",
            .link @ | "%(href)v",
        }
    },
    [0] div ( .ipsDataItem_meta )( .ipsTopicSnippet__date ); {
        .date time datetime | "%(datetime)v",
        [0] a .ipsType_break; {
            .user * c@[0] | "%i",
            .user_link @ | "%(href)v"
        }
    },
    .lastpage.u * .ipsPagination; [-] a | "%i",
    .tags a rel=tag; {
        .name * c@[0] | "%i",
        .link @ | "%(href)v"
    } | ,
    [0] * ( .ipsDataItem_stats )( .ipsTopicSnippet__stats ); {
        .group-indicator [0] img .cGroupIndicator src | "%(src)v",
        span .ipsDataItem_stats_number; {
            .replies [0] @ | "%i",
            .views [1] @ | "%i",
        }
    },
    .snippet div .ipsTopicSnippet__snippet; * c@[0] | "%i",
    .lastpost [0] * ( .ipsDataItem_lastPoster )( .ipsTopicSnippet__last ); {
        .avatar [0] * .ipsUserPhoto; [0] img src | "%(src)v",
        [0] a .ipsType_break; {
            .user * c@[0] | "%i",
            .user_link @ | "%(href)v"
        },
        .date time datetime | "%(datetime)v"
    }
} |
