getgrav / grav

Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony

Home Page:https://getgrav.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[add-resource] New Theme taPMORph trapezes

tapmeppe opened this issue · comments

I would like to add my new theme to the Grav Repository.

taPMORph trapezes is an adaptation of the free template solid state in the GravCMS.

I would like to bring it into the Grav repository as a new theme: taPMORph trapezes .
Here are the project details: https://github.com/taPMeppeSols/grav-theme-tapmorph-trapezes .

@tapmeppe, I've taken the liberty to take a look at the theme you are submitting. Here are my findings...

Naming:

  • I'm not really a fan of mixed uppercase and lowercase characters. It makes the name less legible.
  • The prefix "taPMORph" seems redundant and meaningless to others. Shouldn't the name "Trapezes" be enough?
  • I would also prefer if Open Source software doesn't add a reference to the author or company in the name. It makes names unnecessary clunky.
    There are enough options in README, or elsewhere, to promote the author/company.

Test running theme:

  • It requires PHP 8+, which is ahead of the minimum required by Grav (7.3.6). This excludes quite a bunch of users. Please use the requirements of Grav: "php": "^7.3.6 || ^8.0"

  • When starting the theme it throws an Exception:

    Grav\Theme\TapmorphTrapezes::onRequestHandlerInit(): Failed opening required '/www/grav/site-dev/user/data/tapmorph-trapezes/SubscribersCustom.php'

    See: /www/grav/site-dev/user/themes/tapmorph-trapezes/tapmorph-trapezes.php273

  • Testing is over...

A quick glance over the code:

  • The php code comprises a whopping 1830 lines...
  • The theme's blueprint.yaml contains 945 lines...
  • What is the use of all this code?
  • A theme is about the design/layout/look-and-feel of a page. It shouldn't require heaps of PHP.
    Plugins are about extending functionality of Grav's core or Admin. If code is about extending, it should be extracted into one or more plugins.
  • I wonder, is this still a generic theme that is broadly valuable to the community, or is it a theme created only to serve a single use-case, being your personal or your company's use-case?

Static analysis using Psalm:

  • Psalm detects that level 8 would be a suitable initial level.
    • Note: Level 8 is the most loosest level... Level 1 being the most strict.
  • Psalm detects 21 errors and 38 other issues using the loosest level...

In summary:

  • Not ready to be released to public.

Thanks for the feedback. I will take a look at your remarks.