Arquivo: estilo.css
@font-face {
    font-family: 'Oswald';
    src: url('../fonts/Oswald-Regular.ttf') format('truetype');
}
*{
    font-family: 'Oswald', sans-serif;
}
html {
    height: 100%;
}
body {
    margin: 0;
    background-color: #0D262D;
    color: #fff;
    height: 100%;
}
table {
    border-collapse: collapse;
}
tr {
    border-bottom: solid 1px white;
}
td {
    font-size: 1.6em;
    padding: 10px;
}
li {
    font-size: 1.6em;
}
.conteudo {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100%;
}
.exercicio div {
    font-size: 1.8em;
    border: solid 5px #fff;
    padding: 0px 40px;
    margin: 10px;
}
.exercicio div:nth-of-type(1) {
    background-color: darkgoldenrod;
}
.exercicio div:nth-of-type(2) {
    background-color: crimson;
}
.exercicio div:nth-of-type(3) {
    background-color: darkcyan;
}
.exercicio div:nth-of-type(4) {
    background-color: darkorchid;
}
.exercicio div:nth-of-type(5) {
    background-color: dodgerblue;
}
.exercicio div:nth-of-type(6) {
    background-color: salmon;
}
.exercicio .destaque {
    border: solid 10px greenyellow;
    color: greenyellow;
    font-weight: bold;
}
Arquivo: plugin1.html
<!DOCTYPE html>
<html>
<head>
    <meta charset='UTF-8'>
    <title>Plugin #01</title>
    <link rel='stylesheet' href='css/estilo.css'>
    <script src='js/jquery.js'></script>
</head>
<body class='conteudo exercicio'>
    <h1>Plugin #01</h1>
    <div>
        {{ 1 + 2 }}
        Texto 1
        {{ 3 ** 3 }}
        Texto 2
        {{ console.log('Funcionou!') }}
        Texto 3
        {{ (function() { return 'Legal!!!' })() }}
        Texto Final
    </div>
    <script>
        //Objetivo: converter o texto acima em algo concreto
        //const $ = {nome: 'Não é o jQuery'}
        (function ($) {
            $.fn.interpretar = function (){
                const retirarChaves = s => s.substring(2, s.length -2)
                const conteudo = $(this).html()
                const expressoesComChaves = conteudo.match(/\{\{.+\}\}/g)
                const expressoes = expressoesComChaves.map(retirarChaves)
                const resultados = expressoes.map(e => eval(e))
                let conteudoFinal = conteudo
                for(let i = 0; i < expressoesComChaves.length; i++){
                    conteudoFinal = conteudoFinal.replace(
                        expressoesComChaves[i], resultados[i]
                    )
                }
                $(this).html(conteudoFinal)
            }
        })(jQuery)
        $('div').interpretar()//chamando o plugin
    </script>
</body>
Arquivo: jquery.js CLIQUE AQUI para fazer o download do arquivo






