indexing
description:
"Output as HTML files"
copyright: "Copyright (c) 2003-2006, Julian Tschannen"
license: "Eiffel Forum License v2 (see forum.txt)"
date: "$Date$"
revision: "$Revision$"
class EDOC_HTML_OUTPUT
inherit
EDOC_OUTPUT
EDOC_SHARED_HTML_CONTEXT
export {NONE} all end
create
make
feature {NONE} -- Initialisation
make is
-- Initialise default values.
do
default_options_filename := "options.html.default"
ensure
default_options_filename_set: default_options_filename /= Void
end
feature -- File creation
options_file (a_filename: STRING): EDOC_OPTIONS_FILE is
-- Create options file for html output.
do
create {EDOC_HTML_OPTIONS_FILE}Result.make_from_filename (a_filename)
end
generate_cluster_file (a_cluster: ET_CLUSTER) is
-- Generate file for `a_cluster' in 'output_directory'.
local
a_cluster_file: EDOC_HTML_CLUSTER_FILE
do
create a_cluster_file.make (file_system.pathname (output_directory, html_context.cluster_file_name (a_cluster)))
a_cluster_file.set_cluster (a_cluster)
html_context.setup_cluster_page_links (a_cluster)
a_cluster_file.generate
end
generate_class_file (a_class: ET_CLASS) is
-- Generate file for `a_class' in 'output_directory'.
local
a_class_file: EDOC_HTML_CLASS_FILE
do
create a_class_file.make (file_system.pathname (output_directory, html_context.class_file_name (a_class)))
a_class_file.set_class (a_class)
html_context.setup_class_page_links (a_class)
a_class_file.generate
end
generate_usage_file (a_class: ET_CLASS) is
-- Generate usage file for `a_class' in `output_directory'.
local
filename: STRING
do
filename := file_system.pathname (output_directory, "usage."+a_class.name.name.as_lower+".html")
-- TODO: generate usage file
end
generate_classes_file (a_class_list: DS_LIST [ET_CLASS]) is
-- Generate file for `a_class_list' in `output_directory'.
local
a_classes_file: EDOC_HTML_CLASSES_FILE
do
create a_classes_file.make (file_system.pathname (output_directory, html_context.classes_file_name))
html_context.setup_classes_page_links
a_classes_file.generate
end
generate_clusters_file (a_clusters_list: DS_LIST [ET_CLUSTER]) is
-- Generate file for `a_clusters_list' in `output_directory'.
local
a_clusters_file: EDOC_HTML_CLUSTERS_FILE
do
create a_clusters_file.make (file_system.pathname (output_directory, html_context.clusters_file_name))
html_context.setup_clusters_page_links
a_clusters_file.generate
end
generate_index (an_index_list: DS_LIST [EDOC_INDEX_ENTRY]) is
-- Generate index for `an_index_list' in `output_directory'.
local
an_index_file: EDOC_HTML_INDEX_FILE
a_letter: CHARACTER
do
html_context.setup_index_page_links
from a_letter := 'a' until a_letter > 'z' loop
create an_index_file.make (file_system.pathname (output_directory, html_context.index_file_name (a_letter)))
an_index_file.set_letter (a_letter)
an_index_file.generate
a_letter := a_letter.next
end
if Options.is_index_all_generated then
create an_index_file.make (file_system.pathname (output_directory, html_context.index_all_file_name))
an_index_file.set_letter ('%U')
an_index_file.generate
end
end
generate_overview is
-- Generate overview in `output_directory'.
local
overview_file: EDOC_HTML_OVERVIEW_FILE
do
create overview_file.make (file_system.pathname (output_directory, html_context.overview_file_name))
html_context.setup_overview_page_links
overview_file.generate
end
generate_additional_files is
-- Generate additional files needed for output.
do
file_system.copy_file (Options.original_css_file, file_system.pathname (output_directory, html_context.css_file_name))
end
end