morse-keyframes
v0.3.1
Published
turn morse code into css keyframes 🗝
Downloads
50
Readme
morse-keyframes
| | | |---|---| | npm | v0.3.1 | | size | 420b minzipped | | dependencies | zero | | license | MIT |
turn morse code into css keyframes
morse-keyframes
is a tiny library created to help communicate messages via morse code using css animations.
usage
script include
<script src="https://unpkg.com/morse-keyframes"></script>
const CODE_STRING = '... ___ ...';
const PERCENT_OFFSET = 20;
const DASH_CHAR = '_';
const DOT_CHAR = '.';
const SPACE_CHAR = ' ';
const m = morseKeyframes(
CODE_STRING,
PERCENT_OFFSET,
0,
1,
DASH_CHAR,
DOT_CHAR,
SPACE_CHAR
);
const style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = `@keyframes morse {${m}}`;
document.getElementsByTagName('head')[0].appendChild(style);
.selector {
animation: 4s linear infinite morse;
}
import
npm install morse-keyframes
import React from 'react';
import styled, { keyframes } from 'styled-components';
import morse from 'morse-keyframes';
const Secret = styled.div`
position: fixed;
bottom: 0;
left: calc(50% - 25px);
height: 50px;
width: 50px;
background: #00f;
border-radius: 4px;
animation: 5s linear infinite ${keyframes`${morse(
'gggbrrrbggg',
20,
'{transform: translate3d(0, 40%, 0) scale3d(1.5, 1, 1); opacity: 0;}',
'{transform: translate3d(0, 0, 0) scale3d(1, 1, 1); opacity: 1;}'
)}`};
`;
const app = document.createElement('div');
document.body.appendChild(app);
ReactDOM.render(React.createElement(Secret), app);
api
some of the api may be a bit obtuse, but this is to help your easter eggs/puzzles stay hidden!
parameters
| parameter | type | default | description |
|-----------------|----------------|---------|------------------|
| morse
| string | ''
| morse coded message |
| percentOffset
| number | 20
| css animation percent delay before starting the message |
| offValue
| number/string | 0
| the opacity or css when "off" (opacity when number, css when string) |
| onValue
| number/string | 1
| the opacity or css when "on" (opacity when number, css when string) |
| dash
| string | 'r'
| character to match for morse dash |
| dot
| string | 'g'
| character to match for morse dot |
| space
| string | 'b'
| character to match for morse space |