Is grav suitable for advance needs?

@randoum,

Grav is build to be lean with a small, fast and efficient core. To keep it lean and fast, it depends on plugins for extended functionality. Plugins can be build upon and extend almost everything the Grav core has to offer.

To comment on your specific issues:

  • Adding extra templates
    There is no need to create a plugin for the sole purpose of adding Twig templates. That’s only needed when the plugin itself needs a template to add a front-end ‘widget’.

    Adding templates or overriding existing templates is done using theme inheritance. You can use the 5 steps mentioned in the docs, or use the Devtools plugin: $ bin/plugin devtools newtheme and tell it to override the existing theme. Templates can then be added/overridden in the new themes template folder.

    An inherited theme adding a custom template:

    user/themes/mytheme
    ├── ...
    ├── templates
    │   └── mytemplate.html.twig  <-- adding custom template
    └── ...
    

    A page using a custom template:

    user/pages
    ├── 01.home
    │   └── mytemplate.md         <-- using custom template
    └── 02.typography
        └── default.md
    
  • Forms and data availability due to event order
    Not sure if you are referring to your previous post Form plugin : how to dynamically initialize form value depending on header data from a plugin.
    I have added a reply to that thread.

  • Quality of documentation
    Everything is relative… And also a matter of personal preference. Personally, I’m quite pleased with the documentation.
    Of course, there is always room for improvement. Feel free…

  • Is Grav suitable for complex sites?
    For sure, it has its limitations. The right tools for the right project…
    Do you have some limiting complexity in mind…