fortplot_doc_output Module

Output generation for documentation markdown files.

Handles media scanning, grouping, sorting, and writing media groups to output markdown.



Functions

public function find_group_index(group_names, n_groups, name) result(idx)

Arguments

Type IntentOptional Attributes Name
character(len=FILENAME_MAX_LEN), intent(in) :: group_names(:)
integer, intent(in) :: n_groups
character(len=*), intent(in) :: name

Return Value integer

public function is_media_file(extension)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: extension

Return Value logical


Subroutines

public subroutine write_output_section(unit_out, example_name, media_files, n_media)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit_out
character(len=*), intent(in) :: example_name
character(len=FILENAME_MAX_LEN), intent(in) :: media_files(:)
integer, intent(in) :: n_media

public subroutine write_media_group(unit_out, example_name, group_name, image_file, has_image, pdf_file, has_pdf, txt_file, has_txt, video_file, has_video, other_links, has_other)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit_out
character(len=*), intent(in) :: example_name
character(len=*), intent(in) :: group_name
character(len=*), intent(in) :: image_file
logical, intent(in) :: has_image
character(len=*), intent(in) :: pdf_file
logical, intent(in) :: has_pdf
character(len=*), intent(in) :: txt_file
logical, intent(in) :: has_txt
character(len=*), intent(in) :: video_file
logical, intent(in) :: has_video
character(len=*), intent(in) :: other_links
logical, intent(in) :: has_other

public subroutine sort_string_array(values, n)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(inout) :: values(:)
integer, intent(in) :: n

public subroutine group_media_files(media_files, n_media, group_names, n_groups, image_files, has_image, pdf_files, has_pdf, txt_files, has_txt, video_files, has_video, other_links, has_other)

Arguments

Type IntentOptional Attributes Name
character(len=FILENAME_MAX_LEN), intent(in) :: media_files(:)
integer, intent(in) :: n_media
character(len=FILENAME_MAX_LEN), intent(out) :: group_names(:)
integer, intent(out) :: n_groups
character(len=FILENAME_MAX_LEN), intent(out) :: image_files(:)
logical, intent(out) :: has_image(:)
character(len=FILENAME_MAX_LEN), intent(out) :: pdf_files(:)
logical, intent(out) :: has_pdf(:)
character(len=FILENAME_MAX_LEN), intent(out) :: txt_files(:)
logical, intent(out) :: has_txt(:)
character(len=FILENAME_MAX_LEN), intent(out) :: video_files(:)
logical, intent(out) :: has_video(:)
character(len=FILENAME_MAX_LEN), intent(out) :: other_links(:)
logical, intent(out) :: has_other(:)

public subroutine sort_media_groups(group_names, n_groups, image_files, has_image, pdf_files, has_pdf, txt_files, has_txt, video_files, has_video, other_links, has_other)

Arguments

Type IntentOptional Attributes Name
character(len=FILENAME_MAX_LEN), intent(inout) :: group_names(:)
integer, intent(in) :: n_groups
character(len=FILENAME_MAX_LEN), intent(inout) :: image_files(:)
logical, intent(inout) :: has_image(:)
character(len=FILENAME_MAX_LEN), intent(inout) :: pdf_files(:)
logical, intent(inout) :: has_pdf(:)
character(len=FILENAME_MAX_LEN), intent(inout) :: txt_files(:)
logical, intent(inout) :: has_txt(:)
character(len=FILENAME_MAX_LEN), intent(inout) :: video_files(:)
logical, intent(inout) :: has_video(:)
character(len=FILENAME_MAX_LEN), intent(inout) :: other_links(:)
logical, intent(inout) :: has_other(:)

public subroutine write_generated_outputs(unit_out, example_dir, example_name)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit_out
character(len=*), intent(in) :: example_dir
character(len=*), intent(in) :: example_name

public subroutine scan_directory_for_media(dir_path, media_files, n_media)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: dir_path
character(len=*), intent(out) :: media_files(MAX_MEDIA_FILES)
integer, intent(out) :: n_media