fortplot_doc_constants.f90 Source File


Source Code

module fortplot_doc_constants
    !! Constants for documentation generation.
    !!
    !! Shared between fortplot_documentation, fortplot_doc_processing,
    !! and fortplot_doc_output to avoid circular dependencies.

    implicit none
    private

    public :: PATH_MAX_LEN, FILENAME_MAX_LEN, LINE_MAX_LEN
    public :: MAX_EXAMPLES, MAX_MEDIA_FILES
    public :: VIDEO_WIDTH, VIDEO_HEIGHT
    public :: GITHUB_BASE_URL
    public :: OUTPUT_BASE_DIR
    public :: EXAMPLES_INDEX_PATH
    public :: INDEX_START_MARKER, INDEX_END_MARKER
    public :: FALLBACK_COUNT, FALLBACK_EXAMPLES

    ! String length constants
    integer, parameter :: PATH_MAX_LEN = 256
    integer, parameter :: FILENAME_MAX_LEN = 256
    integer, parameter :: LINE_MAX_LEN = 1024

    ! Array size constants
    integer, parameter :: MAX_EXAMPLES = 64
    integer, parameter :: MAX_MEDIA_FILES = 32

    ! Video dimensions
    integer, parameter :: VIDEO_WIDTH = 800
    integer, parameter :: VIDEO_HEIGHT = 600

    ! URL constants
    character(len=*), parameter :: GITHUB_BASE_URL = &
        'https://github.com/lazy-fortran/fortplot/blob/main/'

    ! Processing constants
    character(len=*), parameter :: OUTPUT_BASE_DIR = 'output/example/fortran/'
    character(len=*), parameter :: EXAMPLES_INDEX_PATH = 'doc/examples/index.md'
    character(len=*), parameter :: INDEX_START_MARKER = '<!-- AUTO_EXAMPLES_START -->'
    character(len=*), parameter :: INDEX_END_MARKER   = '<!-- AUTO_EXAMPLES_END -->'

    integer, parameter :: FALLBACK_COUNT = 16
    character(len=32), parameter :: FALLBACK_EXAMPLES(FALLBACK_COUNT) = [ &
        "basic_plots         ", "line_styles         ", &
        "marker_demo         ", "format_string_demo  ", &
        "contour_demo        ", "pcolormesh_demo     ", &
        "streamplot_demo     ", "ascii_heatmap       ", &
        "scale_examples      ", "legend_demo         ", &
        "legend_box_demo     ", "unicode_demo        ", &
        "show_viewer_demo    ", "raster_backend_demo ", &
        "pdf_backend_demo    ", "text_backend_demo   " ]

end module fortplot_doc_constants