tag2content
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

tag2content

Replace a tag with content in a configurable way

Linux Build Status

Install

Install with npm:

$ npm install --save tag2content

Import

// ES6
import tag2content from 'tag2content';
 
// CommonJS
const tag2content = require('tag2content').default;

Basic usage

Create a text, in which you define some tags:

const text = 'I would like to go to [country] next year, with my friend [friend-name].';

Create a configuration for you tags:

const tags = {
  country: () => 'Japan',
  'friend-name': () => 'Joe',
};

Replace tags with their content:

const updatedText = tag2content({
  tags,
  text,
});
 
console.log(updatedText) //=> 'I would like to go to Japan next year, with my friend Joe.';

Variables

You can add some variables to your tags:

const text = 'I go to [country name="England"] next year, with [friend name="Lucy" to-uppercase="true"].';

When you defines a function for each tag, variables are passed as argument. Kebab case variables are transformed to Pascal case ("to-uppercase" becomes "toUppercase").

const tags = {
  country: variables => {
    return variables.name;
  },
  friend: ({ name, toUppercase }) => {
      return toUppercase ? name.toUpperCase() : name;
   }
};

Custom delimiters

You can use custom delimiters:

const text = 'My first name is {first-name value="Robin"}.';
 
const tags = {
  'first-name': ({ value }) => value,
};
 
const updatedText = tag2content({
  delimiters: {
    end: '}',
    start: '{',
  },
  tags,
  text,
});
 
console.log(updatedText) //=> 'My first name is Robin.';

Package Sidebar

Install

npm i tag2content

Weekly Downloads

0

Version

1.0.5

License

ISC

Unpacked Size

9.04 kB

Total Files

10

Last publish

Collaborators

  • hdorgeval
  • thibaultboursier