Helplate é uma ideia que nasceu a dois anos atrás, e inicialmente se chamava helpme. Escrevi um arquivo falando da ideia, que chamava-se helpme, pois é inspirada em situar a pessoa na sua atividade e contexto. Eu estava trabalhando e pensando sobre quantos aspectos, muitas vezes são esquecidos de avaliar ou de se especificar por que simplesmente foram esquecidos.
As empresas estão cheias de experiências, e lembram de péssimas experiências na integração de pessoas novas no roteiro de atividades do cotidiano.
A primeira linha do arquivo mencionado anteriormente diz:
Todos os dias fizemos repetidamente várias tarefas como esta:
Esta qual?
No meu caso podem ser tarefas de desenvolvimento, escrever no blog, fazer um orçamento, criar um projeto etc.
Cada tarefa, é composta por diversos passos, diversas variáveis que podem fazer com que você não realize-a com sucesso. Quando você faz uma vez com sucesso, logo sabe como fazer e aprende a receita. Quando erra, procura não seguir mais aquele caminho do erro.
Durante muito tempo me perguntei como poderia criar uma lingugem simples de ajuda que também pudesse realizar a tarefa. O que esta “ajuda” precisava saber era como a tarefa era executada, e se faltasse alguma informação, esta própria ajuda poderia lhe pedir explicações sobre o assunto.
Helplate é uma ideia de criar uma linguagem para auxiliar o preenchimento de uma template interativa e humanizada. Inicialmente cobre apenas um documento, mas é possível “programar” ela. A primeira programação a ser executada, é o levantamento das variáveis ainda não descobertas.
Esta template tem como objetivo, sugerir a estrutura de um documento, e questionar sobre as variáveis do contexto.
O exemplo a seguir, mostra a criação de um novo post no meu blog, iniciando pelo uso da template.
jonatas@xonatax-mac: helplate $ ./helplate newpost title='Helplate welcome aboard!'
Após isso, a template irá pedir se quero adicionar alguma tag:
Tags dividido por ‘,’
Então preencho:
helplate, template, ruby, liquid
Então a template pede:
Inicie seu post assim
E eu digito:
Helplate é uma ideia que veio para ficar
Então a template pede:
Deseja adicionar algum código fonte
Digito enter sem escrever nada.
Então a template é preenchida conforme as respostas dadas por mim exibindo o seguinte post:
--- layout: post title: Helplate welcome aboard! categories: ['helplate', 'template', 'ruby', 'liquid'] --- # Helplate welcome aboard! Helplate é uma ideia que veio para ficar <div><pre class="prettyprint"> $ ./helplate newpost title='helplate welcome aboard' </pre></div>
As perguntas foram feitas e a estrutura foi definida através da seguinte template:
jonatas@xonatax-mac: helplate $ cat newpost
---
layout: post
title: \{\{ title }}
categories: \['\{\{ categories \| join glue: ', ' }}'\]
---
# \{\{ title }}
\{\{ description }}
help:
description: Inicie seu post assim
title: Qual é o título
categories: Tags dividido por ','
A template vai até a linha em que começa com a palavra help:, e neste local, são descritos as variáveis anteriormente utilizadas. O interessante desta descrição é tornar a template menos confusa, e resolver o problema dos passos iterando sobre cada uma das variáveis do contexto.
Trabalhando com uma ajuda útil, é possível gerar documentos específicos e ao mesmo tempo padrõnizar os documentos. A descrição de cada variável pode ser simplesmente colocada como:
bem vindo ao mundo \{\{ nome }}
help:
nome: Digite seu nome
O protótipo está no ar em http://github.com/jonatas/helplate, quem puder ajudar, acredito que a ideia pode evoluir!