Neatly Positioned Magazines

    asciidoctor-emoji

    0.4.2 • Public • Published

    🚀 Asciidoctor Emoji Extension

    Build npm version

    An extension for Asciidoctor.js that turns emoji:heart[] into ❤️ !

    Install

    Node.js

    Install the dependencies:

    $ npm i @asciidoctor/core asciidoctor-emoji
    

    Create a file named emoji.js with following content and run it:

    const asciidoctor = require('@asciidoctor/core')()
    const emoji = require('asciidoctor-emoji')
    
    const input = 'I emoji:heart[1x] Asciidoctor.js!'
    
    emoji.register(asciidoctor.Extensions)
    console.log(asciidoctor.convert(input)) // <1>
    
    const registry = asciidoctor.Extensions.create()
    emoji.register(registry)
    console.log(asciidoctor.convert(input, {'extension_registry': registry})) // <2>

    <1> Register the extension in the global registry
    <2> Register the extension in a dedicated registry

    Browser

    Install the dependencies:

    $ npm i @asciidoctor/core asciidoctor-emoji
    

    Create a file named emoji.html with the following content and open it in your browser:

    <html>
      <head>
        <script src="node_modules/@asciidoctor/core/dist/browser/asciidoctor.js"></script>
        <script src="node_modules/asciidoctor-emoji/dist/browser/asciidoctor-emoji.js"></script>
      </head>
      <body>
        <div id="content"></div>
        <script>
          var input = 'I emoji:heart[1x] Asciidoctor.js!'
    
          var asciidoctor = Asciidoctor()
          var emoji = AsciidoctorEmoji
    
          const registry = asciidoctor.Extensions.create()
          emoji.register(registry)
          var result = asciidoctor.convert(input, {'extension_registry': registry})
          document.getElementById('content').innerHTML = result
        </script>
      </body>
    </html>

    <1> Register the extension in the global registry
    <2> Register the extension in a dedicated registry

    Usage

    Use emoji: followed by the name of your emoji (and don't forget the square brackets). For instance wink:

    emoji:wink[]

    Additionally you can configure the size of an emoji. By default, the size is 24px but you can use one of the following:

    • 1x (17px)
    • lg (24px)
    • 2x (34px)
    • 3x (50px)
    • 4x (68px)
    • 5x (85px)

    If you want a really big 🐻, use:

    emoji:bear[5x]

    You can also specify a size in pixel 🎉

    emoji:tada[42px]

    How ?

    This extension is using Twemoji from Twitter. The emoji inline macro is converted into an <image> that points to a remote SVG:

    emoji:beetle[]
    <span class="emoji"><img src="https://twemoji.maxcdn.com/2/svg/1f41e.svg" alt="beetle" width="24px" height="24px"></span>

    beetle

    Install

    npm i asciidoctor-emoji

    DownloadsWeekly Downloads

    168

    Version

    0.4.2

    License

    MIT

    Unpacked Size

    107 kB

    Total Files

    6

    Last publish

    Collaborators

    • ggrossetie