Skip to content

A jquery plugin to automatically markup glossary terms on a page and display definitions as a tooltip.

Notifications You must be signed in to change notification settings

yashilanka/glossarizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
}

Options

Attribute Options Default Description
sourceURL string `` JSON file url
replaceTag string abbr html tag used to replace the matching term
lookupTagName string p, ul, a Which nodes to search
replaceOnce string null Replace once in a textnode?
replaceClass string glossarizer_replaced Class name of the replaceTag
callback method null Completed callback

External Methods

Attribute Options Example
destroy method $('.content').glossarizer('destroy');

About

A jquery plugin to automatically markup glossary terms on a page and display definitions as a tooltip.

Resources

Stars

Watchers

Forks

Packages

No packages published