grav-learn icon indicating copy to clipboard operation
grav-learn copied to clipboard

Topics that need documenting...

Open rhukster opened this issue 8 years ago • 38 comments

These are some topics I have on my big-list-of-grav-things that need to get documented in the docs. Some are clarifications, some are new features that have been added to the Grav core and just not documented yet.

Please consider digging in and helping to knock these out. It's an easy way you can contribute back to Grav :)

Grav Core

  • [x] Full breakdown of each item system.yaml that explains each in more detail rather than just the copy of the file we currently have.

  • [x] system.errors.verbosity needs more detailed explaination

  • [x] Better .htaccess help. Bolt has some great docs in this regard: https://docs.bolt.cm/3.0/howto/making-sure-htaccess-works

  • [x] Provide explanation on how to get a Grav running 100% correctly with 775/664 permissions including a PHP umask() call in setup.php

  • [x] Document template_format: json in page frontmatter

  • [x] Document login_redirect_here: false in page frontmatter (for login page redirect control)

  • [x] Retina images and derivatives need a detailed rewrite and explanation with examples of each type. - https://github.com/getgrav/grav/pull/1133

  • [x] Document ContentMeta. Used in Shortcode Plugin, e.g. $page->addContentMeta('shortcodeMeta', $meta);

  • [x] Document new media streaming capabilities via Markdown and Twig. { media['user://media/bird.png'].resize(50, 50).rotate(90).html() }}

  • [x] Provide more in depth documentation for Browser object.

  • [ ] More in depth documentation and examples of Multi-site usage including examples of stream setups with setup.php

  • [x] Document ability to be run with built-in PHP webserver utilizing router.php

  • [x] Document improved Theme variables - https://github.com/getgrav/grav/pull/1232

  • [x] Document hash page check type - https://github.com/getgrav/grav-plugin-admin/issues/923

  • [x] Document new never_cache_twig system and page option.

  • [x] Document using Wellington app to compile/watch SCSS

  • [x] Document how media methods generally 'reset' previous actions. so either assign to a varable, or pass false - https://github.com/getgrav/grav/issues/1247

  • [x] Update nginx.conf entries with updated value from webserver-configs

  • [x] Document the new allow_webserver_gzip option and implications

  • [x] Document page collection order.custom and order.sort_flags on Collections page

  • [x] Document Redis + Memcached server/port options

  • [x] Document how to run the Grav tests (and add new tests) -> vendor/bin/codecept run

  • [x] Document honeypot field for forms

  • [x] Document debugger: false in the page frontmatter

  • [x] Document in languages section, the ability to get current logged in user {{ grav.user.username }} etc.

  • [x] Added inline CSS and JS via Asset manager https://github.com/getgrav/grav/pull/1377

  • [x] Added isajaxrequest twig funciton https://github.com/getgrav/grav/issues/1400

  • [x] Quickly add twig function - https://github.com/getgrav/grav-plugin-star-ratings/blob/develop/star-ratings.php#L166-L171

  • [x] Document media_directory, vardump, and base32, base64 twig functions/filters

  • [x] Document media twig object and accessing arbitrary images as media:

  • [x] Document optional collection ordering PHP flags https://github.com/getgrav/grav/issues/1640

    {{ media['user://media/bird.png'].resize(50, 50).rotate(90).html() }}
    
  • [x] New methods: Twig::addPath() and Twig::prependPath()

  • [x] Document expires: in page frontmatter

  • [x] Document gaussianBlur media method

  • [x] Document issues with W3C and Linkedin that are fixed with gzip - https://github.com/getgrav/grav/issues/1639

  • [x] Added cache_control system and page override https://github.com/getgrav/grav/issues/1591

  • [x] clear_images_by_default cache option https://github.com/getgrav/grav/pull/1481

  • [x] Collection::intersect() https://github.com/getgrav/grav/issues/1605

  • [x] Collection::merge() method

  • [x] Page::collection() filtering

     content:
      items: '@self.siblings'
      filter: 
          type: item
    
  • [x] Document EXIF support in Grav (and in capabilities)

  • [x] Document Pages::baseUrl(), Pages::homeUrl() and Pages::url() functions

  • [x] More video control options https://github.com/getgrav/grav/pull/1442

  • [x] Document Page ancestor methods https://github.com/getgrav/grav/pull/1362

  • [x] Document Page cache id method Pages::getPagesCacheId()

  • [x] Document how to use Cache object in plugins

Core Events

  • [x] onPageFallbackUrl()

  • [x] onFallbackUrl()

  • [x] onMarkdownInitialized()

  • [x] onMediaLocate()

  • [x] onGetPageTemplates()

  • [x] onGetPageBlueprints()

  • [x] onTwigLoader

  • [ ] onActionX

  • [ ] onPageActionX

  • [ ] onTaskX

Admin Plugin

  • [ ] Document how to extend site.yaml and others with config blueprint override https://gist.github.com/rhukster/89429cc5738b9201c4fd5a6057fe1596

  • [x] Document how to create and use a custom page blueprint to provide "Custom Page Types" functionality

  • [x] Document how to create a custom field

  • [x] Document the Dashboard and Notifications setting with explanation on how to stop the notifications requests to be sent by disabling the 4 places it's needed. (fix to in admin to support this is pending)

  • [ ] Document the volatile nature of APCu/Xcache and how you can't populate cache from CLI because these are destroyed after every CLI php call. File works best, but memcached/redis should also be fine (after Grav 1.1.16 which has the fix)

  • [x] document not being able to scroll caused by cloudlare. https://github.com/getgrav/grav-plugin-admin/issues/808#issuecomment-276824595

  • [x] Update user profile screenshot documentation to mention user-uploadable avatar

  • [x] Document new "Tools" menu option for direct install

  • [x] Document fieldset form field for admin: https://github.com/getgrav/grav-plugin-admin/pull/210

  • [ ] Document parents field which extends pages - https://gist.github.com/rhukster/6df3bdb106e2b06242b10ae549e5e021

  • [ ] Document the security: option on Section and Tab field to limit access

  • [x] Document the password REGEX requirements

  • [ ] Document $this->grav['twig']->plugins_quick_tray via onAdminMenu event

  • [ ] Document icon quick-tray and how to use it in plugins

  • [x] Mention offline mode?

  • [ ] Document multilevel and mediapicker field

Admin Events

  • [x] onAdminTaskExecute()

  • [x] onAdminCreatePageFrontmatter()

  • [x] onAdminAfterSave

  • [x] onAdminAfterSaveAs

  • [x] onAdminAfterDelete

  • [x] onAdminAfterMedia

  • [x] onAdminAfterDelMedia

Forms

  • [x] Explain how to enable inline errors in forms (inline_errors: true in form.yaml or form definition)

  • [x] Custom error message support in validate: message:

  • [x] Disable client validation with client_side_validation: false in form.yaml or in form definition

  • [ ] Document adding custom form fields with examples..

  • [ ] Document adding custom actions with examples..

  • [x] Document conditional - https://gist.github.com/rhukster/7e83c40e906e92a5acf91a80303c034d

  • [x] Document fieldset fields

  • [ ] Document missing file options random_name and avoid_overwriting - AdminBaseController line 218

  • [x] Document Taxonomy field: https://github.com/getgrav/grav-plugin-admin/pull/1364

  • [ ] Document classes in forms: https://gist.github.com/rhukster/09b8841087e2376f962bf9adf2745d85 - Another example: https://gist.github.com/rhukster/13b0232c29482f3f473168f6b98110e5 - Perhaps an example that styles forms to bootstrap would be good?? Also with a Twig variables to set them once: https://gist.github.com/rhukster/133b1576d190cfe8d38058bc2dd32ff4

  • [ ] Document range field

  • [X] Document remember action - https://github.com/getgrav/grav-plugin-form/pull/200

  • [ ] Document how to properly setup a YAML field (yaml: true and validate: type: yaml) - See media.yaml blueprint example.

  • [ ] Document the array field (just like in admin)

Cookbook

  • [x] Tutorial on how to create a split menu system (vertical menu?)

  • [x] Tutorial on how to create a split menu system (vertical menu?)

  • [x] Tutorial walkthrough covering going from and HTML site/design to Grav theme

  • [x] Tutorial walkthrough covering going from and HTML site/design to Grav theme

  • [ ] How to add a page specific CSS file via a custom page template - block stylesheets, parent(), then {% do assets.addCss('theme://css/custom-page.css') %}

  • [ ] Add simple CSS stylesheet to the simple gallery example.

  • [ ] Simple plugin/events to get all users in accounts/ and add them as a twig variable for use on frontend.

  • [x] Custom select field - https://github.com/getgrav/grav-plugin-form/issues/187#issuecomment-327552725

  • [x] Document not being able to scroll caused by cloudlare. getgrav/grav-plugin-admin#808 (comment)

Hosting

  • [ ] Tutorial on best custom hosting with VPS + Serverpilot.io

  • [ ] Add Runcloud to Hosting?

rhukster avatar Dec 15 '16 16:12 rhukster

onPageFallBackURL was documented: https://github.com/getgrav/grav-learn/commit/6915ed69675e13cb0df5aefbc8fcfa23895e90df

RyanMPierson avatar Jan 26 '17 18:01 RyanMPierson

htaccess documented: https://github.com/getgrav/grav-learn/commit/8d168d15e06d05da230830645f0bc930450f6eb0

RyanMPierson avatar Jan 26 '17 18:01 RyanMPierson

Expanded on System Config documentation: https://github.com/getgrav/grav-learn/commit/ac42d1dfa630fe21ba38f1359b29efba514d2334

RyanMPierson avatar Jan 26 '17 18:01 RyanMPierson

https://learn.getgrav.org/content/content-pages#contentmeta

RyanMPierson avatar Feb 22 '17 00:02 RyanMPierson

In regards to "Cookbook" -> "Tutorial on how to create a split menu system (vertical menu?)", is the idea to split menu items by category, subcategory, and item? Ie., a hierarchical menu.

OleVik avatar Feb 27 '17 11:02 OleVik

In regards to the split menu cookbook entry @OleVik, what i had in mind was the main menu shows only the 1st level items. Then when you click on say 'services' top level, and it has a series of items under there: 'consulting', ' development', etc, those show up underneath as a horizontal menu. This is what I consider a 2 level split-menu.

rhukster avatar Feb 27 '17 15:02 rhukster

Dashboard options documented: https://learn.getgrav.org/admin-panel/plugin-options

RyanMPierson avatar Apr 06 '17 20:04 RyanMPierson

Documented Tools Menu Option for Direct Install: https://learn.getgrav.org/admin-panel/tools

RyanMPierson avatar Apr 07 '17 20:04 RyanMPierson

Should we add documentation to the number field ?

paulmassen avatar Jun 16 '17 14:06 paulmassen

Added Custom select field cookbook entry https://github.com/getgrav/grav-learn/pull/497

paulmassen avatar Sep 18 '17 10:09 paulmassen

Documented conditional field https://github.com/getgrav/grav-learn/pull/490

paulmassen avatar Sep 18 '17 10:09 paulmassen

onFallbackUrl() and onMarkdownInitialized() documented here:

https://github.com/getgrav/grav-learn/commit/6915ed69675e13cb0df5aefbc8fcfa23895e90df

RyanMPierson avatar Sep 28 '17 19:09 RyanMPierson

onGetPageTemplates and onGetPageBlueprints were documented: abed30d4

RyanMPierson avatar Sep 28 '17 21:09 RyanMPierson

Great issue. Subscribing to this, learned heaps of stuff just scanning through.

I'll help where I can too.

hughbris avatar Sep 29 '17 20:09 hughbris

Thanks @hughbris contributions are always welcome!

rhukster avatar Sep 29 '17 23:09 rhukster

Memo to remember to add docs to select_optgroup: https://github.com/getgrav/grav-plugin-form/pull/166

paulmassen avatar Oct 04 '17 09:10 paulmassen

Created a cookbook entry for:

  • [x] How to add a page specific CSS file via a custom page template - block stylesheets, parent(), then {% do assets.addCss('theme://css/custom-page.css') %} https://github.com/getgrav/grav-learn/pull/512

paulmassen avatar Oct 30 '17 23:10 paulmassen

Another one for collections page:

  • [ ] Document page collection order.publish_date and order.unpublish_date

hughbris avatar Nov 19 '17 22:11 hughbris

Thanks @jgonyea for your PRs today! It's been a huge help!

rhukster avatar Dec 04 '17 21:12 rhukster

these two would be amazing to have if anyone has some time. still struggling!

Document media twig object and accessing arbitrary images as media:

How to add a page specific CSS file via a custom page template - block stylesheets, parent(), then {% do assets.addCss('theme://css/custom-page.css') %}

artemartemov avatar Jan 24 '18 23:01 artemartemov

@artemartemov The 2nd one is already documented here: https://learn.getgrav.org/cookbook/general-recipes#add-an-asset-to-a-specific-page

I'm not sure I understand the first one though

paulmassen avatar Jan 25 '18 10:01 paulmassen

Documented Inline Errors in forms: https://github.com/getgrav/grav-learn/commit/a77c110ff9d9a3f49ef63dec70926b29fd09a9c5

RyanMPierson avatar Feb 23 '18 01:02 RyanMPierson

Documented validation message: https://github.com/getgrav/grav-learn/commit/ca4e3c8ea342ca03ea454c5d0e06f831919ecf28

RyanMPierson avatar Feb 23 '18 02:02 RyanMPierson

Documented fieldsets, client-side validation. https://github.com/getgrav/grav-learn/commit/a6b6317b4fb5bc78ca98d86984ba1990997fb17c

RyanMPierson avatar Feb 24 '18 00:02 RyanMPierson

Form email action header/option:

  • [x] Document adding reply_to field to form email action

Update: Covered by https://github.com/getgrav/grav-learn/pull/633

hughbris avatar Mar 27 '18 05:03 hughbris

  • [ ] Explain what media thumbnail options page, default, and media actually do/mean

default seems to be the default thumbnail from system folder for media type e.g. /system/images/media/thumb-jpg.png

page is taken from the media folder with pattern [media-name].[media-extension].thumb.[thumb-extension], and seems to fall back to the media itself

media is the (image) medium itself

hughbris avatar Apr 02 '18 05:04 hughbris

Offline Mode Documented d473200ea149480d740e6e6626204833ce71840a

RyanMPierson avatar Apr 06 '18 14:04 RyanMPierson

Update: decent examples are provided under blueprints as it happens. Having missed this completely when I needed it, perhaps we should be talking about better cross-referencing of shared content between the blueprints and user forms sections.

hughbris avatar Jul 11 '18 08:07 hughbris

On my wishlist:

@mahagr and @RyanMPierson know a lot about this process, and I imagine there are some underused abilities of blueprints that would allow for easier debugging of structure and implementation, which is a sticky, reoccurring issue people ask for help with.

OleVik avatar Jul 15 '18 08:07 OleVik

Added CloudFlare workaround via https://github.com/getgrav/grav-plugin-admin/issues/808#issuecomment-276824595

RyanMPierson avatar Jul 15 '18 19:07 RyanMPierson