Giter VIP home page Giter VIP logo

core-project-message's Introduction

The Mautic Project Message Plugin

Thanks for using this Mautic component.

You can participate in its development on Mautic.org, through our issue system: https://www.mautic.org

You can get the full Mautic repo here: https://www.mautic.org

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": {
  "Mautic/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": {
  "Mautic-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": {
    "Mautic-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": {
  "Mautic-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.

core-project-message's People

Contributors

nickveenhof avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mollux rakhithjk

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.