-
-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possibilitar alterar as configurações através de páginas HTML #166
Comments
@cauachagas enviou a seguinte imagem sobre essa idéia: |
Este primeiro arquivo compactado contém só o formulário html O segundo, contém o formulário e a pasta arquivos necessários. Quando o formulário html é salvo (Ctrl + S), cria uma pasta com esses arquivos (são as figuras contidas em "imagens/configuracao/"). Deve haver um jeito de colocar "imagens/configuracao" como diretório de imagens, pra evitar esse comportamento. Infelizmente, não tenho conhecimento em html. Todos os campos, coloquei com <form></form> , porém só as estruturas <select></select> , que geram lista com opções (como tipo de trabalho e adicionar/desativar anexos), conseguem ser extraídos com o pacote nokogiri do ruby. Abaixo um exemplo de como podem ser extraídos as informações com doc.search('form')[n].text, onde n significa a ordem apresentada das informações pedidas no arquivo configuracao.pdf require 'nokogiri'
doc = Nokogiri::HTML(open('configuracao.html'), nil, "UTF-8")
nivel_educacao = doc.search('form')[0].text # form. lista
projeto_combo = doc.search('form')[1].text # form. lista
instituicao = doc.search('form')[2].text # form. area de texto; não consegue ser extraído |
Se eu fosse fazer isso daí, provavelmente eu iria fazer uma aplicação sinatra. Como você faz para persistir os dados do formulário? |
@cauachagas Entendi o funcionamento proposto, é similar ao PDF. Persistir os dados dentro do arquivo HTML e salvar como outro arquivo HTML. Nessa sua abordagem iria ler os dados HTML e exportaria para o formato YAML, que é lido pelo limarka. Eu realmente estava pensando em uma aplicação web que edita os parâmetros, com múltiplas páginas, uma para cada seção. Com recursos para validar os dados inseridos etc. Eu pensei no sinatra porque ele possibilita tudo isso e não é um monstro como rails. Independente do que desejar fazer, recomendo a criação de um projeto separado, criado em https://github.com/limarka Da mesma forma que do pandoc_abnt, que é utilizado pelo limarka. Se precisar de ajuda estou a disposição. |
Não tenho conhecimento de html. Apenas usei o Google. Crei esse formulário usando pandoc. Basicamente odt --> md --> html. Só fiz editar o arquivo html gerado com atributos do tipo formulário. Em 154, fala sobre alternativas ao LaTeX (html para pdf, no caso). Então, pensei em criar um formulário html, caso o limarka comece a usar html. Lendo um pouco sobre extrair informações de formulários html, vi sobre incorporar o Ruby (um tal de erb) ou até usar outra linguagem, como o python, pra mexer em HTML. Enfim... Vou tentar explorar sobre o assunto por esses dias. |
Isso é outra coisa. Atualmente podemos realizar as configurações através de código YAML ou PDF, e talvez em HTML no futuro. Independente da forma como as configurações são lidas, os passos como o limarka processa as informações necessita do LaTeX e do abntex2 (quem possibilita a compatibilidade com o ABNT). Torna-se independente do LaTeX significa implementar tudo o que o abntex2 (verificar compatibilidade com as normas da ABNT) através de estilos CSS para impressão. Da última vez que investiguei isso não era possível ainda. Basicamente é o seguinte:
|
Porque não usar o HTML pra gerar um código YAML que pode ser criado pelo próprio usuário? Por ex, o usuário usa o HTML pra fazer todas configurações e ao final tem um YAML pronto. |
@sergiopvilar , tens experiência nesse tópico? Eu criei o repositório limarka-sinatra com esse objetivo, mas não tenho muita afinidade com o assunto. Até onde lembro, estava funcional. PRs serão apreciados. A dificuldade que tive foi em recuperar os valores de listas (drop-down) a partir de um Isso causa um efeito dominó, pois há outras informações que são em drop-down. Por esse motivo, não criei um formulário completo. |
@cauachagas tenho experiência sim! Estou em semana de provas e posso contribuir com isso a partir do dia 19, vou ver como está o estado atual e o que pode ser feito. |
@cauachagas acabei arrumando um tempo e criei o MR (limarka/limarka-sinatra#7), só fiquei na dúvida dos valores possíveis pra a chave |
@sergiopvilar , obrigado. Quanto aos valores. Acho que não existe a chave Quantos aos valores dessa variável, estão aqui Retirado da versão mais recente do limarka, tem esse arquivo ---
instituicao: Universidade/Faculdade do Brasil
author: Nome do autor
title: Título do trabalho
local: Cidade - UF
date: '2019'
capa_pdf_caminho: ''
titulacao: Minha-titulação
curso: Meu-curso
programa: Programa de Pós-Graduação em XXX
area_de_concentracao: Computação
linha_de_pesquisa: ''
coorientador: ''
orientador: Nome-do-Orientador
referencias_caminho: referencias.bib
proposito: ''
resumo: ''
palavras_chave: ''
keywords: ''
abstract_texto: ''
resumen: ''
palabras_clave: ''
resume: ''
mots_cles: ''
siglas:
- s: ABNT
d: Associação Brasileira de Normas Técnicas
simbolos:
dedicatoria: ''
agradecimentos: ''
epigrafe: ''
avaliador2: Nome-do-Prof-Convidado2
aprovacao_dia: '1'
avaliador1: Nome-do-Prof-Convidado1
avaliador3: ''
graduacao: true
especializacao: false
mestrado: false
doutorado: false
tipo_do_trabalho: Monografia
incluir_ficha_catalografica: false
folha_de_aprovacao: false
projeto: true
apendices: false
anexos: false
errata: false
referencias_sistema: alf
lista_ilustracoes: false
lista_quadros: yes
lista_tabelas: yes
--- |
@sergiopvilar para desenvolver uma solução html eu escolheria uma das seguintes alternativas:
As alternativas estão listadas na ordem que acho mais relevante:
Acho que daria para ser aproveitado como um projeto em alguma disciplina de graduação em computação. :) |
Eu também viria a possibilidade de fazer uma aplicação desktop electron para edição. |
@edusantana eu gosto muito da ideia do app com electron pois podemos distribuir um portável .exe, .app, etc dentro do repositório do trabalho-academico entretanto pode ser que haja mais uma opção pra isso. Eu tive uma idéia durante esse fim de semana e gostaria de compartilhar: e se a gente não precisar de nenhum back-end pra rodar isso? Eu pensei em:
A idéia é que o usuário possa abrir o HTML, atualizar as configurações, baixar o .yaml e salvar na pasta do projeto. O pró é que não necessita nenhuma complexidade adicional na configuração de ambiente, nada precisa ser instalado. O contra é que a etapa de salvar o arquivo .yaml na pasta é necessária, mas comparado ao setup de um ambiente node/python/ruby, eu acho bem mais simples. Pra projetos já existentes, podemos colocar uma opção de importar um |
Legal, parece simples. Eu já fiz uma extensão para o chrome que utiliza storage. O legal de distribuir através de uma extensão é que os usuários tem atualização automática. Talvez precise trabalho extra para questões de portabilidade (Edge e Firefox), mas pelo menos funciona no window e linux. Se fizer através de uma extensão chrome, posso até contribuir também. |
Comportamento esperado:
O ideal seria possibilitar realizar as configurações através de HTML que permite a construção de formulários que possibilitam uma experiência de interações melhores.
The text was updated successfully, but these errors were encountered: