1.5.2 • Published 7 years ago

glossarizer v1.5.2

Weekly downloads
130
License
ISC
Repository
github
Last release
7 years ago

Glossarizer

  • Reads glossary list from json file or object
  • Automatically searches for and marks up glossary terms found on a page with attributes
  • Supports terms exclusion
  • Supports multiple terms
  • Replaces TextNodes only
  • No involvement from authors

What it is

A small jquery plugin that automatically marks up glossary terms on a page. The glossary terms can be read from an external json file. When users hover over the link (dashed line), they get to see the glossary definition as a tooltip.

Tooltips are optional, you can use any third-party tooltips.

Why use it

If you are writing content that uses specialist vocabulary or many acronyms you need to mark up content with tags so that the definitions can show up as a tooltip. But as authors you really should focus on the writing and not on the marking up content. This is where Glossarizer can help. It automatically marks up the glossary terms on a page by reading off a glossary list.

How to use it

1. Prepare your Glossary Data in a JSON File/Object

[
  {
    "term": "death, !death star",
    "description": "Cessation of all biological functions"
  },
  {
    "term": "genetic, !genetic testing, genes, DNA",
    "description": "relating to genes or heredity: genetic abnormalities."
  },
  {
    "term" : "creature",
    "description" : "A living being, especially an animal"
  },
  {
    "term" : "subdue",
    "description" : "To conquer and subjugate; vanquish"
  },
  {
    "term" : "replenish",
    "description" : "To fill or make complete again; add a new stock or supply to"
  },
  {
    "term" : "whales",
    "description" : "An inlet of the Ross Sea in the Ross Ice Shelf of Antarctica. It has been used as a base for Antarctic expeditions since 1911."
  }
]

2. Initialize the plugin

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="tooltip/tooltip.js"></script>
<script src="jquery.glossarize.js"></script>
<script>

$(function(){

  $('.content').glossarizer({
    sourceURL: 'glossary.json',
    callback: function(){
      
      // Callback fired after glossarizer finishes its job
      
      new tooltip();

    }
  });


});

</script>

Plugin Options

defaults = {
  sourceURL     : '', 
  replaceTag    : 'abbr', 
  lookupTagName : 'p, ul, a',
  callback      : null,
  replaceOnce   : true,
  replaceClass  : glossarizer_replaced,
  caseSensitive : false
}

Options

AttributeOptionsDefaultDescription
sourceURLstring | JSON file url
replaceTagstringabbrhtml tag used to replace the matching term
lookupTagNamestringp, ul, aWhich nodes to search
replaceOncebooleantrueReplace once in a textnode?
replaceClassstringglossarizer_replacedClass name of the replaceTag
callbackmethodnullCompleted callback
caseSensitivebooleanfalseMatch case sensitive

External Methods

AttributeOptionsExample
destroymethod$('.content').glossarizer('destroy');