[settings] # Soupault version that the config was written/generated for # Trying to process this config with an older version will result in an error message soupault_version = "4.10.0" # Stop on page processing errors? strict = true # Where input files (pages and assets) are stored. site_dir = "site" # Where the output goes build_dir = "build" # Files inside the site/ directory can be treated as pages or static assets, # depending on the extension. # # Files with extensions from this list are considered pages and processed. # All other files are copied to build/ unchanged. # # Note that for formats other than HTML, you need to specify an external program # for converting them to HTML (see below). page_file_extensions = ["htm", "html", "md", "rst", "adoc"] # By default, soupault uses "clean URLs", # that is, $site_dir/page.html is converted to $build_dir/page/index.html # You can make it produce $build_dir/page.html instead by changing this option to false clean_urls = true # If you set clean_urls=false, # file names with ".html" and ".htm" extensions are left unchanged. keep_extensions = ["html", "htm"] # All other extensions (".md", ".rst"...) are replaced, by default with ".html" default_extension = "html" # Page files with these extensions are ignored. ignore_extensions = ["draft"] # Soupault can work as a website generator or an HTML processor. # # In the "website generator" mode, it considers files in site/ page bodies # and inserts them into the empty page template stored in templates/main.html # # Setting this option to false switches it to the "HTML processor" mode # when it considers every file in site/ a complete page and only runs it through widgets/plugins. generator_mode = true # Files that contain an element are considered complete pages rather than page bodies, # even in the "website generator" mode. # This allows you to use a unique layout for some pages and still have them processed by widgets. complete_page_selector = "html" # Website generator mode requires a page template (an empty page to insert a page body into). # If you use "generator_mode = false", this file is not required. default_template_file = "templates/main.html" # Page content is inserted into a certain element of the page template. # This option is a CSS selector that is used for locating that element. # By default the content is inserted into the default_content_selector = "body" # You can choose where exactly to insert the content in its parent element. # The default is append_child, but there are more, including prepend_child and replace_content default_content_action = "append" # If a page already has a document type declaration, keep the declaration keep_doctype = true # If a page does not have a document type declaration, force it to HTML5 # With keep_doctype=false, soupault will replace existing declarations with it too doctype = "" # Insert whitespace into HTML for better readability # When set to false, the original whitespace (if any) will be preserved as is pretty_print_html = true # Plugins can be either automatically discovered or loaded explicitly. # By default discovery is enabled and the place where soupault is looking is the plugins/ subdirectory # in your project. # E.g., a file at plugins/my-plugin.lua will be registered as a widget named "my-plugin". plugin_discovery = true plugin_dirs = ["plugins"] # Soupault supports a variety of page source character encodings, # the default encoding is UTF-8 page_character_encoding = "utf-8"