GithubHelp home page GithubHelp logo

wilsonglasser / tinymce-variable Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ziktar/tinymce-variable

0.0 1.0 0.0 135 KB

TinyMCE variable is a plugin that makes it easier to work with variables in text.

HTML 22.62% JavaScript 74.87% CSS 2.51%

tinymce-variable's Introduction

TinyMCE variable CircleCI token maintainer

TinyMCE variable is a plugin that makes it easier to work with variables in text. A lot of web applications today allow users to write content with variables. Server side these variables can then be replaced with actual data. There are many large companies that use this kind of functionality but a lot of these implementations are not very user friendly.

With this project we provide a user friendly implementation of such a feature nicely packaged as a TinyMCE plugin.

TinyMCE variables plugin example

Demo

Demo example of this plugin

Features

  • Replace variables like {{example}} with something more readable
  • Variables are not editable
  • Delete variables with one hit on the backspace button
  • Custom class for variable elements
  • Auto replace when typing a variable
  • Custom variable prefix and suffix

Example

tinymce.init({
    selector: "textarea",  // change this value according to your HTML
    plugins: "variable"
});

Options

These settings affect the execution of the variables plugin. The settings described here will affect the visual appearance and the working of the variables plugin in the current editor instance.

variable_mapper

This option makes it possible to provide a human readable variant of specific variables. If the variables plugin detects such a mapper it will use that value to display the variable in the editor. An example use case for this could be to localize variable names.

tinymce.init({
    selector: "textarea",
    plugins: "variable",
    variable_mapper: {
        account_id: "Account ID",
        email: "E-mail address"
    }
});

variable_valid

This option makes it possible to provide a specific list of allowed variables, if the variable is not in the list then the plugin will not visualize it as such.

tinymce.init({
    selector: "textarea",
    plugins: "variable",
    variable_valid: ["username", "sender", "phone", "community_name", "email"]
});

variable_class

By default each variable instance in the editor will have a class name variable. If you want to use a custom class name you can use this option to overwrite it.

tinymce.init({
    selector: "textarea",
    plugins: "variable",
    variable_class: "my-custom-variable"
});

variable_prefix and variable_suffix

By default the prefix and suffix used are, the commonly used, double brackets ({{ and }}). You can customize these if you prefer something else using these options.

tinymce.init({
    selector: "textarea",
    plugins: "variable",
    variable_prefix: "{%",
    variable_suffix: "%}"
});

Develop

To start a HTTP server to test your changes you can run following command and open the reported URL in your browser.

npm run serve

Make sure to run the tests before pushing code or submitting any pull request using:

npm run test

Products using TinyMCE Variables

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

History

For detailed changelog, check Releases.

License

MIT License

tinymce-variable's People

Contributors

mahammedzkhan avatar nicklassondeatlandmarkglobal avatar ronaldojf avatar sitebase avatar wilsonglasser avatar

Watchers

 avatar

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.