not much of a tutorial but here's a theme layer that you can break apart and use.
layerinfo "type" = "theme";
layerinfo "name" = "mix default and custom components using print_free_text()";
layerinfo "source_viewable" = "1";
set first_position = "free_text_order";
set second_position = "none";
set third_position = "none";
set fourth_position = "none";
set fifth_position = "none";
set sixth_position = "none";
set show_free_text = true;
# you can use these 5 lines as often as you want to make more component boxes
# just take the comments to the right off and take the #'s off of the front of each line
# print_comp_header("TEXT HERE"); # prints component header with text "TEXT HERE" (w/out quotes)
# """ # starts html code block
# HTML HERE # put html here
# """; # ends html code block
# print_comp_footer(); # prints component closing code
function print_free_text(Page p){
print_comp_header("Free text 1");
"""
Free text 1
""";
print_comp_footer();
print_profile($p); # profile
print_comp_header("Free text 2");
"""
Free text 2
""";
print_comp_footer();
print_calendar($p); # calendar
print_comp_header("Free text 3");
"""
Free text 3
""";
print_comp_footer();
print_links($p); # links
print_comp_header("Free text 4");
"""
Free text 4
""";
print_comp_footer();
print_nav_comp($p); # navigation component
print_comp_header("Free text 5");
"""
Free text 5
""";
print_comp_footer();
$p->lay_print_summary(); # summary component
print_comp_header("Free text 6");
"""
Free text 6
""";
print_comp_footer();
}