Typed.js is a library that types. Enter in any string, and watch it type at the speed you've set, backspace what it's typed, and begin a new sentence for however many strings you've set.
/*
:: Vendor Path
node_modules/typed.js/
:: Installed
npm install typed.js
:: SOW Controller Init
*/ $.SOW.vendor.typed.init('.typed')
<!--
Using data-typed-string as text source.
"|" is required as separator
-->
Smarty is <span class="typed"
data-typed-string="<a href='#'>modular</a>|modern|highly customizable"
data-typed-speed-forward="80"
data-typed-speed-back="40"
data-typed-back-delay="700"
data-typed-loop-times="infinite"
data-typed-smart-backspace="true"
data-typed-shuffle="false"
data-typed-cursor="|"></span>
modular
modern
highly customizable
<!--
Using a div as a source (SEO friendly).
-->
Smarty is <span class="typed"
data-typed-source="#typed_id"
data-typed-speed-forward="40"
data-typed-speed-back="80"
data-typed-back-delay="700"
data-typed-loop-times="infinite"
data-typed-smart-backspace="true"
data-typed-shuffle="false"
data-typed-cursor="|"></span>
<div id="typed_id">
<p>modular</p>
<p>modern</p>
<p>highly customizable</p>
</div>
<!-- input placeholder -->
<input type="text" class="form-control typed"
data-typed-string="modular|modern|highly customizable"
data-typed-speed-forward="1"
data-typed-speed-back="1"
data-typed-back-delay="700"
data-typed-loop-times="infinite"
data-typed-smart-backspace="true"
data-typed-shuffle="false"
data-typed-cursor="|">
<!-- textarea placeholder -->
<textarea class="form-control typed"
data-typed-string="modular|modern|highly customizable"
data-typed-speed-forward="1"
data-typed-speed-back="1"
data-typed-back-delay="700"
data-typed-loop-times="infinite"
data-typed-smart-backspace="true"
data-typed-shuffle="false"
data-typed-cursor="|"></textarea>