Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/greg-1-anderson/drupal-core-project-message

Clone of drupal/core-project-message + https://www.drupal.org/project/drupal/issues/3126566
https://github.com/greg-1-anderson/drupal-core-project-message

Last synced: 18 days ago
JSON representation

Clone of drupal/core-project-message + https://www.drupal.org/project/drupal/issues/3126566

Awesome Lists containing this project

README

        

The Drupal Project Message Plugin
=================================

Thanks for using this Drupal component.

You can participate in its development on Drupal.org, through our issue system:
https://www.drupal.org/project/issues/drupal

You can get the full Drupal repo here:
https://www.drupal.org/project/drupal/git-instructions

You can browse the full Drupal repo here:
http://cgit.drupalcode.org/drupal

What does it do?
----------------

This Composer plugin displays a configurable message after Composer installation
processes have finished.

This is ideal for a 'next steps' type prompt to help get the user oriented.

Currently only two Composer events are supported:
- post-create-project-cmd, when a `composer create-project` command has
finished.
- post-install-cmd, when a `composer install` command has finished.

How do I set it up?
-------------------

Require this Composer plugin in your project template composer.json file:

"require": {
"drupal/core-project-message": "^8.8"
}

### Configuration

There are three ways to configure this plugin to output information:
- Using a text file.
- Using composer.json schema keys.
- Embedding the information in the extra section of the composer.json file.

### Using a text file

By default, the plugin will respond to `post-install-cmd` or
`post-create-project-cmd` Composer events by looking for a similarly-named file
in the root of the project. For instance, if the user issues a `composer
create-project` command, when that command is finished, the plugin will look for
a file named `post-create-project-cmd-message.txt` and then display it on the
command line.

The file should be plain text, with markup suitable for Symfony's
`OutputInterface::writeln()` method. See documentation here:
https://symfony.com/doc/3.4/console/coloring.html

You can also configure your own file(s), using the `extra` section of your
composer.json file:

"extra": {
"drupal-core-project-message": {
"post-create-project-cmd-file": "bespoke/special_file.txt"
}
}

### Using composer.json schema keys

You can tell the plugin to output the structured support information from the
composer.json file by telling it the keys you wish to display.

Currently, only `name`, `description`, `homepage` and `support` are supported.

"extra": {
"drupal-core-project-message": {
"include-keys": ["homepage", "support"],
}
}

Then you can include this information in your composer.json file, which you
should probably be doing anyway.

### Embedding the information in the extra section

You can specify text directly within the `extra` section by using the
`[event-name]-message` key. This message should be an array, with one string for
each line:

"extra": {
"drupal-core-project-message": {
"post-create-project-cmd-message": [
"Thanks for installing this project.",
"Please visit our documentation here: http://example.com/docs"
]
}
}

These strings should be plain text, with markup suitable for Symfony's
`OutputInterface::writeln()` method. See documentation here:
https://symfony.com/doc/3.4/console/coloring.html

The `-message` section will always override `-file` for a given event.