more cleanup of string and site builders, standardized comments

This commit is contained in:
Allen Webster 2017-07-10 11:56:57 -04:00
parent 84b5bc00af
commit a9ead759e7
5 changed files with 376 additions and 442 deletions

View File

@ -6,8 +6,8 @@ By Allen Webster
// TOP // TOP
#if !defined(FTECH_FILE_MOVING_H) #if !defined(FRED_FILE_MOVING_H)
#define FTECH_FILE_MOVING_H #define FRED_FILE_MOVING_H
#include "../4ed_os_comp_cracking.h" #include "../4ed_os_comp_cracking.h"

File diff suppressed because it is too large Load Diff

View File

@ -115,18 +115,6 @@ do_html_output(Document_System *doc_system, char *dst_directory, Abstract_Item *
free(mem); free(mem);
} }
static Abstract_Item*
generate_homepage(Document_System *doc_system, char *src_directory){
Enriched_Text *home = fm_push_array(Enriched_Text, 1);
*home = load_enriched_text(src_directory, "home.txt");
Abstract_Item *doc = begin_document_description(doc_system, "4coder Home", "home", 0);
add_enriched_text(doc, home);
end_document_description(doc);
return(doc);
}
// TODO(allen): replace the documentation declaration system with a straight up enriched text system // TODO(allen): replace the documentation declaration system with a straight up enriched text system
static Abstract_Item* static Abstract_Item*
generate_4coder_docs(Document_System *doc_system, char *code_directory, char *src_directory){ generate_4coder_docs(Document_System *doc_system, char *code_directory, char *src_directory){
@ -251,49 +239,13 @@ generate_4coder_docs(Document_System *doc_system, char *code_directory, char *sr
return(doc); return(doc);
} }
static Abstract_Item* internal Abstract_Item*
generate_feature_list(Document_System *doc_system, char *src_directory){ generate_page(Document_System *doc_system, char *src_directory, char *source_text, char *big_title, char *small_name){
Enriched_Text *feature_list = fm_push_array(Enriched_Text, 1); Enriched_Text *home = fm_push_array(Enriched_Text, 1);
*feature_list = load_enriched_text(src_directory, "feature_list.txt"); *home = load_enriched_text(src_directory, source_text);
Abstract_Item *doc = begin_document_description(doc_system, "4coder Feature List", "features", 0); Abstract_Item *doc = begin_document_description(doc_system, big_title, small_name, 0);
add_enriched_text(doc, feature_list); add_enriched_text(doc, home);
end_document_description(doc);
return(doc);
}
static Abstract_Item*
generate_binding_list(Document_System *doc_system, char *src_directory){
Enriched_Text *binding_list = fm_push_array(Enriched_Text, 1);
*binding_list = load_enriched_text(src_directory, "binding_list.txt");
Abstract_Item *doc = begin_document_description(doc_system, "4coder Binding List", "bindings", 0);
add_enriched_text(doc, binding_list);
end_document_description(doc);
return(doc);
}
static Abstract_Item*
generate_roadmap(Document_System *doc_system, char *src_directory){
Enriched_Text *roadmap = fm_push_array(Enriched_Text, 1);
*roadmap = load_enriched_text(src_directory, "roadmap.txt");
Abstract_Item *doc = begin_document_description(doc_system, "4coder Roadmap", "roadmap", 0);
add_enriched_text(doc, roadmap);
end_document_description(doc);
return(doc);
}
static Abstract_Item*
generate_tutorials(Document_System *doc_system, char *src_directory){
Enriched_Text *roadmap = fm_push_array(Enriched_Text, 1);
*roadmap = load_enriched_text(src_directory, "tutorials.txt");
Abstract_Item *doc = begin_document_description(doc_system, "4coder Tutorials", "tutorials", 0);
add_enriched_text(doc, roadmap);
end_document_description(doc); end_document_description(doc);
return(doc); return(doc);
@ -310,10 +262,11 @@ push_string(i32 size){
static void static void
do_image_resize(char *src_file, char *dst_file, char *extension, i32 w, i32 h){ do_image_resize(char *src_file, char *dst_file, char *extension, i32 w, i32 h){
Temp temp = fm_begin_temp();
i32 x = 0, y = 0, channels = 0; i32 x = 0, y = 0, channels = 0;
stbi_uc *image = stbi_load(src_file, &x, &y, &channels, 0); stbi_uc *image = stbi_load(src_file, &x, &y, &channels, 0);
stbi_uc *resized_image = fm_push_array(stbi_uc, w*h*channels);
stbi_uc *resized_image = (stbi_uc*)malloc(w*h*channels);
stbir_resize_uint8(image, x, y, x*channels, resized_image, w, h, w*channels, channels); stbir_resize_uint8(image, x, y, x*channels, resized_image, w, h, w*channels, channels);
if (match_cc(extension, "png")){ if (match_cc(extension, "png")){
@ -321,16 +274,13 @@ do_image_resize(char *src_file, char *dst_file, char *extension, i32 w, i32 h){
} }
free(image); free(image);
free(resized_image); fm_end_temp(temp);
} }
static void static void
generate_site(char *code_directory, char *asset_directory, char *src_directory, char *dst_directory){ generate_site(char *code_directory, char *asset_directory, char *src_directory, char *dst_directory){
String str;
Document_System doc_system = create_document_system(); Document_System doc_system = create_document_system();
// TODO(allen): code compression here
struct Site_Asset{ struct Site_Asset{
char *filename; char *filename;
char *extension; char *extension;
@ -354,33 +304,30 @@ generate_site(char *code_directory, char *asset_directory, char *src_directory,
for (u32 i = 0; i < ArrayCount(asset_list); ++i){ for (u32 i = 0; i < ArrayCount(asset_list); ++i){
Site_Asset *asset = &asset_list[i]; Site_Asset *asset = &asset_list[i];
str = push_string(256); char *name = fm_str(asset_directory, "/", asset->filename);
append_sc(&str, asset_directory);
append_sc(&str, "/");
append_sc(&str, asset->filename);
terminate_with_null(&str);
switch (asset_list[i].type){ switch (asset_list[i].type){
case SiteAsset_Generic: case SiteAsset_Generic:
{ {
add_generic_file(&doc_system, str.str, asset->extension, asset->name); add_generic_file(&doc_system, name, asset->extension, asset->name);
}break; }break;
case SiteAsset_Image: case SiteAsset_Image:
{ {
add_image_description(&doc_system, str.str, asset->extension, asset->name); add_image_description(&doc_system, name, asset->extension, asset->name);
}break; }break;
default: InvalidCodePath; default: InvalidCodePath;
} }
} }
generate_homepage(&doc_system, src_directory);
generate_4coder_docs(&doc_system, code_directory, src_directory); generate_4coder_docs(&doc_system, code_directory, src_directory);
generate_feature_list(&doc_system, src_directory);
generate_binding_list(&doc_system, src_directory); generate_page(&doc_system, src_directory, "home.txt" , "4coder Home" , "home" );
generate_roadmap(&doc_system, src_directory); generate_page(&doc_system, src_directory, "feature_list.txt", "4coder Feature List", "features" );
generate_tutorials(&doc_system, src_directory); generate_page(&doc_system, src_directory, "binding_list.txt", "4coder Binding List", "bindings" );
generate_page(&doc_system, src_directory, "roadmap.txt" , "4coder Roadmap" , "roadmap" );
generate_page(&doc_system, src_directory, "tutorials.txt" , "4coder Tutorials" , "tutorials" );
for (Basic_Node *node = doc_system.doc_list.head; for (Basic_Node *node = doc_system.doc_list.head;
node != 0; node != 0;
@ -411,17 +358,10 @@ generate_site(char *code_directory, char *asset_directory, char *src_directory,
node = node->next){ node = node->next){
Image_Instantiation *inst = NodeGetData(node, Image_Instantiation); Image_Instantiation *inst = NodeGetData(node, Image_Instantiation);
char space[256]; char img_link[256];
if (img_get_link_string(img, space, sizeof(space), inst->w, inst->h)){ if (img_get_link_string(img, img_link, sizeof(img_link), inst->w, inst->h)){
char space2[256]; char *dest_file = fm_str(dst_directory, "/", img_link);
String str = make_fixed_width_string(space2); do_image_resize(img->source_file, dest_file, img->extension, inst->w, inst->h);
append_sc(&str, dst_directory);
append_sc(&str, "/");
append_sc(&str, space);
terminate_with_null(&str);
do_image_resize(img->source_file, space2, img->extension, inst->w, inst->h);
} }
} }
} }

View File

@ -1,5 +1,5 @@
1 1
0 0
97 98

View File

@ -32,7 +32,6 @@
#include "../meta/4ed_meta_keywords.h" #include "../meta/4ed_meta_keywords.h"
#include "../meta/4ed_out_context.cpp" #include "../meta/4ed_out_context.cpp"
#include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -160,12 +159,6 @@ int main(){
META_BEGIN(); META_BEGIN();
fm_init_system(); fm_init_system();
#if 0
i32 size = (512 << 20);
void *mem = malloc(size);
memset(mem, 0, size);
#endif
// NOTE(allen): Parse the internal string file. // NOTE(allen): Parse the internal string file.
char *string_files[] = { INTERNAL_STRING, 0 }; char *string_files[] = { INTERNAL_STRING, 0 };
Meta_Unit string_unit = compile_meta_unit(".", string_files, ExpandArray(meta_keywords)); Meta_Unit string_unit = compile_meta_unit(".", string_files, ExpandArray(meta_keywords));