Jump to content

Module:T-LibraryInterview

Documentation for this module may be created at Module:T-LibraryInterview/doc

--Module:T-LibraryInterview
-- Makes use of ICANNWiki's "Template Blueprint Framework" to render the "Internet & Digital Governance Library" template

local p = {}

-- ========== Required modules ==========
local Blueprint = require('Module:LuaTemplateBlueprint')
local ErrorHandling = require('Module:ErrorHandling')

-- ========== Helper Functions ==========
-- Blueprint default: Create error context for the module
local errorContext = ErrorHandling.createContext("T-LibraryInterview")

-- ================================================================================

-- IMPORTANT! TEMPLATE BLUEPRINT FRAMEWORK INSTRUCTIONS
-- CONTROL OF TEMPLATE FEATURES: THIS LIST SPECIFIES IN AN EXPLICIT MANNER WHAT FEATURES ARE TO BE CALLED/RENDERED BY THE TEMPLATE. EXTENSIVE TESTING WAS PERFORMED SO THAT THIS CAN BE TOGGLED AT ANY TIME WITH A TRUE/FALSE BOOLEAN CHOICE FROM THIS MODULE, AS IT CAN BE DONE IN ANY OTHER MODULE USING ICANNWIKI'S THE TEMPLATE BLUEPRINT FRAMEWORK
local template = Blueprint.registerTemplate('LibraryInterview', {
    features = {
        title = true,
        fields = true,
        semanticProperties = true,
        categories = true,
        errorReporting = true
    }
})

-- Blueprint default: Initialize the standard configuration
Blueprint.initializeConfig(template)

-- ================================================================================

-- TEMPLATE-SPECIFIC CALLS AND CODE

-- ========== Preprocessors ==========
-- Basic preprocessors
Blueprint.addPreprocessor(template, 'setPageIdField')

-- ========== Main Render Function ==========
-- Blueprint default: Render
function p.render(frame)
    return ErrorHandling.protect(
        errorContext,
        "render",
        function()
            return template.render(frame)
        end,
        ErrorHandling.getMessage("TEMPLATE_RENDER_ERROR"),
        frame
    )
end

return p