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
- iso_fortran_env
- fdoc_util
- fdoc_buffer
- fdoc_model
- fdoc_settings
- fdoc_project
- fdoc_pages
- fdoc_graphs
- json_module
- fdoc_urls
- fdoc_highlight
- fdoc_generics
- fdoc_stats
- fdoc_assets
- fdoc_progress
- fdoc_shell
- ffmt_fs
Graphs
Uses
Used by
Variables
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
| HERE_PAGES | integer | privateparameter | -1 | for |
| LIST_ABSINT | integer | privateparameter | 4 | |
| LIST_BLOCKDATA | integer | privateparameter | 7 | |
| LIST_FILE | character(len=*) | privateparameterdimension(NUM_LISTS) | [character(len=10)::'files','modules','procedures','absint','types','programs','blockdata','namelists'] | |
| LIST_FILES | integer | privateparameter | 1 | |
| LIST_MODULES | integer | privateparameter | 2 | |
| LIST_NAMELISTS | integer | privateparameter | 8 | |
| LIST_NOUN | character(len=*) | privateparameterdimension(NUM_LISTS) | [character(len=18)::'File','Module','Procedure','AbstractInterface','Type','Program','BlockDataUnit','Namelist'] | |
| LIST_PROCEDURES | integer | privateparameter | 3 | |
| LIST_PROGRAMS | integer | privateparameter | 6 | |
| LIST_TITLE | character(len=*) | privateparameterdimension(NUM_LISTS) | [character(len=19)::'SourceFiles','Modules','Procedures','AbstractInterfaces','DerivedTypes','Programs','BlockData','Namelists'] | |
| LIST_TYPES | integer | privateparameter | 5 | |
| MAX_NESTING | integer | privateparameter | 16 | how many levels of containers a page shows |
| NUM_LISTS | integer | privateparameter | 8 | |
| SITE_DIRECTORIES | character(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
True if c is of the category want of children_of.
display_lengthpureprivate
Length of the result of display_name.
display_namepureprivate
The base name of a file entity, or the name of another.
letter_classpureprivate
The lowercase class for icon letter.
line_haspureprivate
The position of keyword followed by name in line, or 0.
list_ofprivate
The list page that entity id belongs on, or 0.
permission_rankpureprivate
The order of the permission of e.
section_idpureprivate
An anchor for the section titled title.
sorts_beforeprivate
True if a sorts before b, for the sort setting.
uses_mathprivate
True if the documentation shown on the page of id has math.
wants_sourceprivate
True if the source of entity id should be shown.
Subroutines
add_intrecursiveprivate
Write value, not negative, which may be too large for int_text.
add_js_textprivate
Append text for use in a JavaScript string in single quotes.
argument_tableprivate
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
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
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.
breadcrumbsprivate
Write what contains entity id, from its source file down, each with a link to its page.
children_ofprivate
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
The members of each list page, in the order of the sort setting.
construct_linespureprivate
The lines of low that could start or end a procedure or type.
copy_page_filesprivate
Copy the files and directories that static pages list.
entity_titleprivate
Write the title of an entity's page, with what is known about it.
explained_badgeprivate
Write text as a badge, with an explanation for when the pointer is over it.
find_sourceprivate
Find the text of the construct keyword name in low, from its first line to its end line.
groupedrecursiveprivate
Write value, not negative, with a comma between each group of three digits.
icon_linkprivate
Write an icon linking to url, if it is set.
interface_bodyprivate
Write what is specific to a generic interface: the procedures in it.
license_textprivate
Write the name of license license, linked if it is a known one.
list_columnsprivate
Write the columns of a list page between the name and the description.
locate_in_fileprivate
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
Find the code of each procedure and type in the text of its file. Files are handled in parallel.
logo_nameprivate
The name in the site of the file of the logo setting: logo, with its extension, or '' if there
is no such file.
page_directoriesprivate
Create the directories of the static pages.
page_headprivate
Write the start of a page.
page_linksrecursiveprivate
Write the pages below page parent, or the top one if that is 0, as a tree of links.
page_outlineprivate
Write the sections of a procedure page, for the sidebar.
plain_textprivate
html as plain text of at most limit characters, with blanks collapsed.
procedure_badgesprivate
Write the attributes of procedure e that say how it behaves, as badges. Anything else is left out.
search_indexprivate
The search index, as a script: browsers do not let a page opened from a file read JSON.
side_groupprivate
Write a sidebar group of links to the entities ids, on the same page if anchors.
side_iconprivate
Write the icon of entity e in a sidebar: a letter, with what it stands for as its tooltip.
sidebar_scriptprivate
The script holding the entries of the lists of the sidebar, for fdoc.js.
signature_argumentsprivate
Write the arguments of procedure e, each in the colour of its intent, as in the table of arguments.
site_sideprivate
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
Write a size in bytes, with one decimal once it is in kilobytes or megabytes.
source_sectionprivate
Write the source of entity id, if source is set, from the text of its file.
stats_cellsprivate
Write stats as cells of a table. Each has the plain number, to sort by.
stats_totalprivate
Write the row of totals of the list of files.
summary_sectionprivate
Write a section of short entries that link to the pages of ids.
type_bodyprivate
Write what is specific to a derived type.
unit_bodyprivate
Write what is specific to a module, submodule, program or block data unit.
write_entity_pageprivate
Render the page of entity id and write it.
write_entity_pagesprivate
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.