{
    "content": [
        {
            "type": "text",
            "text": "# Template::Toolkit (perldoc)\n\n## NAME\n\nTemplate::Toolkit - Template Processing System\n\n## Sections\n\n- **NAME**\n- **Introduction**\n- **Documentation**\n- **Author**\n- **Copyright**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Template::Toolkit",
        "section": "",
        "mode": "perldoc",
        "summary": "Template::Toolkit - Template Processing System",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "Introduction",
                "lines": 28,
                "subsections": []
            },
            {
                "name": "Documentation",
                "lines": 48,
                "subsections": []
            },
            {
                "name": "Author",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "Copyright",
                "lines": 8,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Template::Toolkit - Template Processing System\n",
                "subsections": []
            },
            "Introduction": {
                "content": "The Template Toolkit is a collection of Perl modules which implement a fast, flexible, powerful\nand extensible template processing system.\n\nIt is \"input-agnostic\" and can be used equally well for processing any kind of text documents:\nHTML, XML, CSS, Javascript, Perl code, plain text, and so on. However, it is most often used for\ngenerating static and dynamic web content, so that's what we'll focus on here.\n\nAlthough the Template Toolkit is written in Perl, you don't need to be a Perl programmer to use\nit. It was designed to allow non-programmers to easily create and maintain template-based web\nsites without having to mess around writing Perl code or going crazy with cut-n-paste.\n\nHowever, the Template Toolkit is also designed to be extremely flexible and extensible. If you\nare a Perl programmer, or know someone who is, then you can easily hook the Template Toolkit\ninto your existing code, data, databases and web applications. Furthermore, you can easily\nextend the Template Toolkit through the use of its plugin mechanism and other developer APIs.\n\nWhatever context you use it in, the primary purpose of the Template Toolkit is to allow you to\ncreate a clear separation between the presentation elements of your web site and everything\nelse.\n\nIf you're generating static web pages, then you can use it to separate the commonly repeated\nuser interface elements on each page (headers, menus, footers, etc.) from the core content. If\nyou're generating dynamic web pages for the front end of a web application, then you'll also be\nusing it to keep the back-end Perl code entirely separate from the front-end HTML templates.\nEither way, a *clear separation of concerns* is what allow you to concentrate on one thing at a\ntime without the other things getting in your way. And that's what the Template Toolkit is all\nabout.\n",
                "subsections": []
            },
            "Documentation": {
                "content": "The documentation for the Template Toolkit is organised into five sections.\n\nThe Template::Manual contains detailed information about using the Template Toolkit. It gives\nexamples of its use and includes a full reference of the template language, configuration\noptions, filters, plugins and other component parts.\n\nThe Template::Modules page lists the Perl modules that comprise the Template Toolkit. It gives a\nbrief explanation of what each of them does, and provides a link to the complete documentation\nfor each module for further information. If you're a Perl programmer looking to use the Template\nToolkit from your Perl programs then this section is likely to be of interest.\n\nMost, if not all of the information you need to call the Template Toolkit from Perl is in the\ndocumentation for the Template module. You only really need to start thinking about the other\nmodules if you want to extend or modify the Template Toolkit in some way, or if you're\ninterested in looking under the hood to see how it all works.\n\nThe documentation for each module is embedded as POD in each module, so you can always use\n\"perldoc\" from the command line to read a module's documentation. e.g.\n\n$ perldoc Template\n$ perldoc Template::Context\n...etc...\n\nIt's worth noting that all the other documentation, including the user manual is available as\nPOD. e.g.\n\n$ perldoc Template::Manual\n$ perldoc Template::Manual::Config\n...etc...\n\nThe Template::Tools section contains the documentation for Template::Tools::tpage and\nTemplate::Tools::ttree. These are two command line programs that are distributed with the\nTemplate Toolkit. tpage is used to process a single template file, ttree for processing entire\ndirectories of template files.\n\nThe Template::Tutorial section contains two introductory tutorials on using the Template\nToolkit. The first is Template::Tutorial::Web on generating web content. The second is\nTemplate::Tutorial::Datafile on using the Template Toolkit to generate other data formats\nincluding XML.\n\nThe final section of the manual is Template::FAQ which contains answers to some of the\nFrequently Asked Questions about the Template Toolkit.\n\nYou can read the documentation in HTML format either online at the Template Toolkit web site,\n<http://template-toolkit.org/>, or by downloading the HTML version of the documentation from\n<http://template-toolkit.org/download/index.html#htmldocs> and unpacking it on your local\nmachine.\n",
                "subsections": []
            },
            "Author": {
                "content": "The Template Toolkit was written by Andy Wardley (<http://wardley.org/>\n<mailto:abw@wardley.org>) with assistance and contributions from a great number of people.\nPlease see Template::Manual::Credits for a full list.\n",
                "subsections": []
            },
            "Copyright": {
                "content": "Copyright (C) 1996-2013 Andy Wardley. All Rights Reserved.\n\nThis module is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself.\n\nSee Also\nTemplate, Template::Manual, Template::Modules, Template::Tools, Template::Tutorial\n",
                "subsections": []
            }
        }
    }
}