fdoc

modulefdoc_site

Writing the HTML site. Pages are rendered and written in parallel, so nothing that renders a page calls a function returning a deferred-length string (see example/slen_race.f90).

Uses

Graphs

Uses

Used by

Variables

NameTypeAttributesDefaultDescription
HERE_PAGESintegerprivateparameter-1

for page_head: a static page, not of a list

LIST_ABSINTintegerprivateparameter4
LIST_BLOCKDATAintegerprivateparameter7
LIST_FILEcharacter(len=*)privateparameterdimension(NUM_LISTS)[character(len=10)::'files','modules','procedures','absint','types','programs','blockdata','namelists']
LIST_FILESintegerprivateparameter1
LIST_MODULESintegerprivateparameter2
LIST_NAMELISTSintegerprivateparameter8
LIST_NOUNcharacter(len=*)privateparameterdimension(NUM_LISTS)[character(len=18)::'File','Module','Procedure','AbstractInterface','Type','Program','BlockDataUnit','Namelist']
LIST_PROCEDURESintegerprivateparameter3
LIST_PROGRAMSintegerprivateparameter6
LIST_TITLEcharacter(len=*)privateparameterdimension(NUM_LISTS)[character(len=19)::'SourceFiles','Modules','Procedures','AbstractInterfaces','DerivedTypes','Programs','BlockData','Namelists']
LIST_TYPESintegerprivateparameter5
MAX_NESTINGintegerprivateparameter16

how many levels of containers a page shows

NUM_LISTSintegerprivateparameter8
SITE_DIRECTORIEScharacter(len=*)privateparameterdimension(*)[character(len=10)::'css','js','lists','module','proc','type','interface','program','blockdata','namelist','sourcefile','search','page']

The directories of a site.

Types

index_list_tprivate

Entities, by index.

site_tprivate

What every page needs.

Functions

acceptspureprivate

pure logical function accepts(c, want)

True if c is of the category want of children_of.

display_lengthpureprivate

pure integer function display_length(e)

Length of the result of display_name.

display_namepureprivate

pure character(len=display_length(e)) function display_name(e) result(name)

The base name of a file entity, or the name of another.

has_mathpureprivate

pure logical function has_math(e)

True if e has math in its documentation.

has_pageprivate

logical function has_page(site, id)

True if entity id has a page of its own.

letter_classpureprivate

pure character(len=1) function letter_class(letter) result(class)

The lowercase class for icon letter.

line_haspureprivate

pure integer function line_has(line, keyword, name)

The position of keyword followed by name in line, or 0.

list_ofprivate

integer function list_of(site, id) result(which)

The list page that entity id belongs on, or 0.

permission_rankpureprivate

pure integer function permission_rank(e)

The order of the permission of e.

section_idpureprivate

pure character(len=len(title)) function section_id(title) result(id)

An anchor for the section titled title.

sorts_beforeprivate

logical function sorts_before(site, a, b)

True if a sorts before b, for the sort setting.

uses_mathprivate

logical function uses_math(site, id)

True if the documentation shown on the page of id has math.

wants_sourceprivate

logical function wants_source(site, id)

True if the source of entity id should be shown.

Subroutines

add_intrecursiveprivate

recursive subroutine add_int(b, value)

Write value, not negative, which may be too large for int_text.

add_js_textprivate

subroutine add_js_text(text, b)

Append text for use in a JavaScript string in single quotes.

add_wordsprivate

subroutine add_words(words, b)

Write words as list items.

anchorprivate

subroutine anchor(site, id, b)

Write the anchor of entity id.

argument_attributesprivate

subroutine argument_attributes(e, b)

Write the attributes of argument e.

argument_tableprivate

subroutine argument_table(site, ids, components, b)

Write a table of dummy arguments, or with components of other variables, such as the components of a type. Those have no intent, and may have a default value and a permission.

assign_pages

subroutine assign_pages(p)

Give each entity with a page of its own a page name that is unique in its directory, as FORD does: name, then name~2.

badgeprivate

subroutine badge(text, b)

Write text, an intent or attribute, as a badge. Its class comes from its first word, such as attr-pointer, which is what gives it its colour.

binding_tableprivate

subroutine binding_table(site, ids, b)

Write a table of type-bound procedures.

breadcrumbsprivate

subroutine breadcrumbs(site, id, b)

Write what contains entity id, from its source file down, each with a link to its page.

calls_sectionprivate

subroutine calls_section(site, id, b)

Write what a procedure calls.

children_ofprivate

subroutine children_of(site, id, want, ids)

The visible children of id that want accepts, sorted: 1 variables, 2 functions, 3 subroutines, 4 explicit and generic interfaces, 5 abstract interfaces, 6 types, 7 bindings, 8 final procedures, 9 namelists, 10 common blocks, 11 enumerations, 12 separate module procedures.

collect_listsprivate

subroutine collect_lists(site)

The members of each list page, in the order of the sort setting.

common_sectionsprivate

subroutine common_sections(site, ids, b)

Write common blocks.

construct_linespureprivate

pure subroutine construct_lines(low, starts, stops)

The lines of low that could start or end a procedure or type.

copy_page_filesprivate

subroutine copy_page_files(s, directory, pages)

Copy the files and directories that static pages list.

entity_pageprivate

subroutine entity_page(site, id, html)

Render the page of entity id.

entity_titleprivate

subroutine entity_title(site, id, word, b)

Write the title of an entity's page, with what is known about it.

enum_sectionsprivate

subroutine enum_sections(site, ids, b)

Write enumerations.

explained_badgeprivate

subroutine explained_badge(text, explanation, b)

Write text as a badge, with an explanation for when the pointer is over it.

file_bodyprivate

subroutine file_body(site, id, b)

Write what is specific to a source file.

find_sourceprivate

subroutine find_source(low, starts, stops, from, keyword, name, found, first, last)

Find the text of the construct keyword name in low, from its first line to its end line.

graph_sectionsprivate

subroutine graph_sections(site, id, b)

Write the graphs of entity id.

groupedrecursiveprivate

recursive subroutine grouped(value, b)

Write value, not negative, with a comma between each group of three digits.

index_pageprivate

subroutine index_page(site, front, html)

Render the front page.

interface_bodyprivate

subroutine interface_body(site, id, b)

Write what is specific to a generic interface: the procedures in it.

license_textprivate

subroutine license_text(license, b)

Write the name of license license, linked if it is a known one.

list_columnsprivate

subroutine list_columns(site, which, id, b)

Write the columns of a list page between the name and the description.

list_pageprivate

subroutine list_page(site, which, html)

Render list page which.

locate_in_fileprivate

subroutine locate_in_file(site, ids)

Find the code of entities ids, all from one file. They are in source order, so each search starts where the last one found something. Only the lines that name a construct are searched, as a name that is not in the file, like those Fypp makes, would otherwise cost two readings of the file.

locate_sourcesprivate

subroutine locate_sources(site)

Find the code of each procedure and type in the text of its file. Files are handled in parallel.

logo_nameprivate

subroutine logo_name(s, name)

The name in the site of the file of the logo setting: logo, with its extension, or '' if there is no such file.

measure_filesprivate

subroutine measure_files(site)

Measure the source files of the list of files.

number_cellprivate

subroutine number_cell(value, b)

Write value as a cell of a table.

page_directoriesprivate

subroutine page_directories(directory, pages)

Create the directories of the static pages.

page_footprivate

subroutine page_foot(site, b)

Write the end of a page.

page_headprivate

subroutine page_head(site, title, here, prefix, math, b)

Write the start of a page.

page_outlineprivate

subroutine page_outline(site, id, b)

Write the sections of a procedure page, for the sidebar.

plain_textprivate

subroutine plain_text(html, limit, out)

html as plain text of at most limit characters, with blanks collapsed.

procedure_badgesprivate

subroutine procedure_badges(e, b)

Write the attributes of procedure e that say how it behaves, as badges. Anything else is left out.

procedure_bodyprivate

subroutine procedure_body(site, id, b)

Write what is specific to a procedure.

search_indexprivate

subroutine search_index(site, text)

The search index, as a script: browsers do not let a page opened from a file read JSON.

search_pageprivate

subroutine search_page(site, html)

Render the search results page.

side_groupprivate

subroutine side_group(site, title, ids, b)

Write a sidebar group of links to the entities ids, on the same page if anchors.

side_iconprivate

subroutine side_icon(e, b)

Write the icon of entity e in a sidebar: a letter, with what it stands for as its tooltip.

sidebar_scriptprivate

subroutine sidebar_script(site, text)

The script holding the entries of the lists of the sidebar, for fdoc.js.

signatureprivate

subroutine signature(site, id, b)

Write the declaration of a procedure.

signature_argumentsprivate

subroutine signature_arguments(site, e, b)

Write the arguments of procedure e, each in the colour of its intent, as in the table of arguments.

site_sideprivate

subroutine site_side(site, here, prefix, b)

Write the links to the list pages, for the sidebar. The list of the page is empty here, as it could be far too long to go in each page: fdoc.js fills it from sidebar.js. Pages outside the lists, which have no place in one, show the start of each list.

size_textprivate

subroutine size_text(bytes, b)

Write a size in bytes, with one decimal once it is in kilobytes or megabytes.

sort_idsprivate

subroutine sort_ids(site, ids)

Sort ids, keeping the source order of equal entries.

source_sectionprivate

subroutine source_section(site, id, b)

Write the source of entity id, if source is set, from the text of its file.

static_pageprivate

subroutine static_page(site, k, html)

Render static page k.

stats_cellsprivate

subroutine stats_cells(stats, b)

Write stats as cells of a table. Each has the plain number, to sort by.

stats_totalprivate

subroutine stats_total(site, described, b)

Write the row of totals of the list of files.

summary_itemprivate

subroutine summary_item(site, id, b)

Write a short entry for entity id.

summary_sectionprivate

subroutine summary_section(site, title, ids, b)

Write a section of short entries that link to the pages of ids.

type_bodyprivate

subroutine type_body(site, id, variables, bindings, finals, b)

Write what is specific to a derived type.

unit_bodyprivate

subroutine unit_body(site, id, b)

Write what is specific to a module, submodule, program or block data unit.

uses_sectionprivate

subroutine uses_section(site, id, b)

Write the use statements of a unit.

write_entity_pageprivate

subroutine write_entity_page(site, id, directory, stat)

Render the page of entity id and write it.

write_entity_pagesprivate

subroutine write_entity_pages(site, ids, directory, count, stat, errmsg)

Render the pages of entities ids and write them, in parallel. A page is not kept once it is written, as together they can be larger than everything else in memory.

write_graphprivate

subroutine write_graph(site, k, b)

Write graph k.

write_site

subroutine write_site(p, s, front, pages_in, count, stat, errmsg)

Write the whole site.

write_typeprivate

subroutine write_type(site, e, b)

Write the type of variable e.