From 43c2df99d4f8696f819c99d79bc732cf8ddd5331 Mon Sep 17 00:00:00 2001 From: Allen Webster Date: Fri, 25 Nov 2016 01:16:04 -0500 Subject: [PATCH] basic site structure in place; now outputing the entire document system automatically --- site/sitegen.cpp | 37 +++++++++++++++++++++++------------ site/source_material/home.txt | 12 ++++++++++++ 2 files changed, 37 insertions(+), 12 deletions(-) create mode 100644 site/source_material/home.txt diff --git a/site/sitegen.cpp b/site/sitegen.cpp index e0eec732..6a2a438e 100644 --- a/site/sitegen.cpp +++ b/site/sitegen.cpp @@ -174,7 +174,19 @@ assert_files_are_equal(char *directory, char *filename1, char *filename2){ } static Abstract_Document* - generate_4coder_API(Document_System *doc_system, Partition *part, char *code_directory, char *src_directory, char *dst_directory){ + generate_homepage(Document_System *doc_system, Partition *part, char *src_directory){ + Enriched_Text *home = push_struct(part, Enriched_Text); + *home = load_enriched_text(part, src_directory, "home.txt"); + + Abstract_Document *doc = begin_document_description(doc_system, "4coder Home", "home"); + add_enriched_text(doc, home); + end_document_description(doc); + + return(doc); + } + + static Abstract_Document* + generate_4coder_docs(Document_System *doc_system, Partition *part, char *code_directory, char *src_directory){ static Meta_Keywords meta_keywords[] = { {make_lit_string("API_EXPORT") , Item_Function } , {make_lit_string("API_EXPORT_INLINE") , Item_Function } , @@ -240,7 +252,7 @@ assert_files_are_equal(char *directory, char *filename1, char *filename2){ *lexer_introduction = load_enriched_text(part, src_directory, "lexer_introduction.txt"); // NOTE(allen): Put together the abstract document - Abstract_Document *doc = begin_document_description(doc_system, "4coder API Docs", "custom_API"); + Abstract_Document *doc = begin_document_description(doc_system, "4coder API Docs", "custom_docs"); add_table_of_contents(doc); @@ -309,7 +321,7 @@ assert_files_are_equal(char *directory, char *filename1, char *filename2){ } static Abstract_Document* - generate_feature_list(Document_System *doc_system, Partition *part, char *src_directory, char *dst_directory){ + generate_feature_list(Document_System *doc_system, Partition *part, char *src_directory){ Enriched_Text *feature_list = push_struct(part, Enriched_Text); *feature_list = load_enriched_text(part, src_directory, "feature_list.txt"); @@ -321,7 +333,7 @@ assert_files_are_equal(char *directory, char *filename1, char *filename2){ } static Abstract_Document* - generate_roadmap(Document_System *doc_system, Partition *part, char *src_directory, char *dst_directory){ + generate_roadmap(Document_System *doc_system, Partition *part, char *src_directory){ Enriched_Text *roadmap = push_struct(part, Enriched_Text); *roadmap = load_enriched_text(part, src_directory, "roadmap.txt"); @@ -343,15 +355,16 @@ generate_site(char *code_directory, char *src_directory, char *dst_directory){ Document_System doc_system = create_document_system(part); - Abstract_Document *api_document = generate_4coder_API(&doc_system, part, code_directory, src_directory, dst_directory); + generate_homepage(&doc_system, part, src_directory); + generate_4coder_docs(&doc_system, part, code_directory, src_directory); + generate_feature_list(&doc_system, part, src_directory); + generate_roadmap(&doc_system, part, src_directory); - Abstract_Document *feature_list = generate_feature_list(&doc_system, part, src_directory, dst_directory); - - Abstract_Document *roadmap = generate_roadmap(&doc_system, part, src_directory, dst_directory); - - do_html_output(&doc_system, part, dst_directory, api_document); - do_html_output(&doc_system, part, dst_directory, feature_list); - do_html_output(&doc_system, part, dst_directory, roadmap); + for (Document_Node *node = doc_system.head; + node != 0; + node = node->next){ + do_html_output(&doc_system, part, dst_directory, &node->doc); + } } int main(int argc, char **argv){ diff --git a/site/source_material/home.txt b/site/source_material/home.txt new file mode 100644 index 00000000..184a4003 --- /dev/null +++ b/site/source_material/home.txt @@ -0,0 +1,12 @@ + +4coder is a code editor that first and foremost targets the needs C/C++ developers so that developers in that space can be as efficient as possible. Here you can learn about the features of 4coder, how to get started with 4coder, and how to get the absolute most out of 4cocer. + +If you cannot find what you are looking for please contact \CODE_STYLE{editor@4coder.net} with questions. + +\BEGIN_LINK{document:features} The official 4coder feature list \END_LINK + +\BEGIN_LINK{document:roadmap} The official 4coder road map \END_LINK + +\BEGIN_LINK{document:custom_docs} The official documentation for the 4coder customization system \END_LINK + +