remark-jargon

A Remark plugin for jargon terms

Usage no npm install needed!

<script type="module">
  import remarkJargon from 'https://cdn.skypack.dev/remark-jargon';
</script>

README

FreeSewing

remark-jargon on NPM License: MIT Code quality on DeepScan Open issues tagged pkg:remark-jargon All Contributors

Follow @freesewing_org on Twitter Chat with us on Discord Become a FreeSewing Patron Follow @freesewing_org on Twitter

remark-jargon

A Remark plugin for jargon terms

About

This Remark plugin allows you to use jargon in your markdown/mdx content and use a centrally managed file of jargon terms and their definitions.

An example of this plugin being used on freesewing.org

Install

To install this plugin, run:

npm install --save remark-jargon

Getting started

Tip: See https://github.com/joostdecock/remark-jargon-example for a minimal repository that uses this plugin

Create your jargon file

This plugin requires a jargon file with terms defenitions. For example:

module.exports = {
  remark: "<b>remark</b> is a markdown processor powered by plugins. See <a href='https://remark.js.org/'>remark.js.org</a>.",
  freesewing: "<b>FreeSewing</b> is an open source platform for made-to-measure sewing patterns. See <a href='https://freesewing.org/'>freesewing.org</a>"
}

Import the plugin

Now import the plugin, and pass it your jargon:

var remark = require('remark')
var html = require('remark-html')
var plugin = require('remark-jargon')
var jargon = require('./jargon.js')

remark()
  .use(html)
  .use(plugin, { jargon: jargon })
  .process('This is a plugin for _remark_ originally written for _freesewing_.', function (err, file) {
    console.log(String(file))
  })

Note

This plugin will only add markup to your jargon if you emphasize it.

Style your jargon

You will need to add CSS to style your jargon properly, and hide the definition by default. Below is an example to get you started:

// Add a dashed line under jargon terms
.jargon-term {
  text-decoration: underline dotted #228be6
}
// Add a question mark behind/above jargon terms
.jargon-term::after {
  content: "?";
  font-weight: bold;
  display: inline-block;
  transform: translate(0, -0.5em);
  font-size: 75%;
  color: #228be6;
  margin-left: 3px;
}
// Hover behavior for the therm itself
.jargon-term:hover {
  position: relative;
  text-decoration: none;
  cursor: help;
}
// Hide info by default
.jargon-term .jargon-info {
  display: none
}
// Show info on hover
.jargon-term:hover .jargon-info {
  display: block;
  position: absolute;
  top: 1.5em;
  left: 0;
  background: #F8F8F8;
  border: 1px solid #DCDCDC;
  padding: 1rem;
  border-radius: 4px;
  font-size: 90%;
  min-width: 250px;
  max-width: 450px;
  z-index: 1;
}

Tips for using jargon

Lowercase your terms in the jargon file

When looking for terms to match, we lowercase the term your emphazised. So in the jargon file, you should use msf, but in your text, you can use MSF, Msf, or msf.

If you use HTML, only use inline elements

Your jargon term definition can contain HTML, but only inline elements. Typically, you will want to stick to:

  • Making things bold
  • Inserting links

Getting help

This plugin is written by/for FreeSewing. For help or feedback, please stop by the FreeSewing chat room or create an issue.

Use with Gatsby

Please see gatsby-remark-jargon for info and instructions on how to use this plugin with Gatsby.

What am I looking at? πŸ€”

This repository is our monorepo holding all our NPM packages.

This folder holds: remark-jargon

About FreeSewing πŸ’€

Where the world of makers and developers collide, that's where you'll find FreeSewing.

If you're a maker, checkout freesewing.org where you can generate our sewing patterns adapted to your measurements.

If you're a developer, our documentation is on freesewing.dev. Our core library is a batteries-included toolbox for parametric design of sewing patterns. But we also provide a range of plugins that further extend the functionality of the platform.

If you have NodeJS installed, you can try it right now by running:

npx create-freesewing-pattern

Or, consult our getting started guides for Linux, MacOS, or Windows.

We also have a pattern design tutorial that walks you through your first parametric design, and a friendly community with people who can help you when you get stuck.

Support FreeSewing: Become a patron πŸ₯°

FreeSewing is an open source project run by a community, and financially supported by our patrons.

If you feel what we do is worthwhile, and you can spend a few coind without hardship, then you should join us and become a patron.

Links πŸ‘©β€πŸ’»

License: MIT πŸ€“

Β© Joost De Cock.
See the license file for details.

Where to get help 🀯

Our chatrooms on Discord are the best place to ask questions, share your feedback, or just hang out.

If you want to report a problem, please create an issue.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Adam Tomkins

πŸ“–

Alexandre Ignjatovic

πŸ’»

AlfaLyr

πŸ’» πŸ”Œ 🎨

Andrew James

πŸ“–

Anneke

πŸ“– 🌍

Annie Kao

πŸ“–

Anternative

πŸ“–

Anthony

πŸ’¬

Cameron Dubas

πŸ“–

Carsten Biebricher

πŸ“–

Cathy Zoller

πŸ“–

Chantal Lapointe

🌍

Damien PIQUET

πŸ’»

Darigov Research

πŸ“– πŸ€”

Elena FdR

πŸ“– πŸ“

Emmanuel Nyachoke

πŸ’» πŸ“–

EvEkSwed

🌍

Fantastik-Maman

🌍

Forrest O.

πŸ“–

FrΓ©dΓ©ric

🌍

Glenn Matthews

πŸ“–

Ikko Ashimine

πŸ“–

Irapeke

🌍

Jacek Sawoszczuk

πŸ“–

Jason Williams

πŸ“–

Jeremy Jackson

πŸ’»

Joebidido

🌍

Joost De Cock

🚧

Josh Essman

πŸ“–

Kake

πŸ“–

Kapunahele Wong

πŸ“–

Karen

πŸ“– πŸ“‹

Katie McGinley

πŸ“–

Kieran Klaassen

πŸ’»

Kittycatou

🌍

Kris

πŸ“–

Kristin Ruben

πŸ’»

Loudepeuter

🌍

Lucian

πŸ“‹

Marcus

🌍

Martin Tribo

πŸ“–

Nadege Michel

⚠️ πŸ“–

Natalia

πŸ’» 🎨 πŸ“

Nathan Yergler

πŸ“–

Nick Dower

πŸ“– πŸ’» πŸ›

Patrick Forringer

πŸ”Œ

Paul

πŸ“– πŸ“ 🌍

Phillip Thelen

πŸ’»

Pixieish

πŸ“–

Prof. dr. Sorcha NΓ­ Dhubhghaill

πŸ“–

Quentin FELIX

πŸ’» 🎨

Rik Hekker

πŸ›

Sam Livingston-Gray

πŸ“–

Sanne

πŸ’» πŸ“–

Sara Latorre

🌍

SeaZeeZee

πŸ“– πŸ’»

Slylele

πŸ“– 🌍

Soazillon

🌍

Stefan Sydow

🌍 πŸ“– πŸ’»

TrΓ­ona

πŸ“–

Unmutual

πŸ“–

Wouter van Wageningen

πŸ’» 🎨 πŸ”§

amysews

πŸ“–

beautifulsummermoon

🌍

berce

πŸ“–

biou

πŸ’»

bobgeorgethe3rd

πŸ’» πŸ“– 🎨

brmlyklr

πŸ“–

chri5b

πŸ’» ⚠️

dingcycle

🌍

econo202

πŸ“–

ericamattos

🌍

fightingrabbit

πŸ’»

gaylyndie

πŸ“–

grimlokason

πŸ’»

hellgy

🎨

marckiesel

🌍

starfetch

πŸ’» πŸ“– 🌍 🎨

ttimearl

πŸ–‹

tuesgloomsday

πŸ“–

valadaptive

πŸ’»

viocky

🌍

woolishboy

πŸ’»

yc

🌍

This project follows the all-contributors specification. Contributions of any kind welcome!