limarka 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +14 -12
- data/CHANGELOG.md +22 -1
- data/CONTRIBUTING.md +21 -6
- data/README.md +20 -34
- data/Rakefile +6 -7
- data/docs/paper/codemeta.json +23 -0
- data/docs/paper/generate +146 -0
- data/docs/paper/open-canvas.md +86 -0
- data/docs/paper/paper.bib +40 -0
- data/docs/paper/paper.md +38 -0
- data/lib/limarka/cli.rb +2 -1
- data/lib/limarka/conversor.rb +3 -3
- data/lib/limarka/version.rb +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 682ef2210d24a2f441d629ee4f0547ba3f40190e
|
4
|
+
data.tar.gz: 3f7f0fb0ba55d52f1a08eac06f1717eb9591c71f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 023f0ff0cb6bd608f644dba1ef5a34eb3ba63d531551d2edac01133aae7028dd3c02c498a9fbb2f17c1205a972b77064a0a5284fec6b6f1c7c55059ab57e1e71
|
7
|
+
data.tar.gz: 9f8025a8d7cc20d39ac5d9a3876c53fec20db9a7b6196e4198519bbb800897e8ef471705343851af9853546c434e8100ddd374795d6f18ddf25352249a0daf45
|
data/.travis.yml
CHANGED
@@ -5,15 +5,17 @@ rvm:
|
|
5
5
|
- 2.3.1
|
6
6
|
before_install:
|
7
7
|
- sudo apt-get update -qq
|
8
|
-
- sudo apt-get install -qq ruby-full pdftk xclip
|
9
|
-
- wget https://github.com/jgm/pandoc/releases/download/1.19.1/pandoc-1.19.1-1-amd64.deb
|
10
|
-
-
|
11
|
-
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
8
|
+
- sudo apt-get install -y -qq ruby-full pdftk xclip poppler-utils language-pack-pt libreoffice
|
9
|
+
- wget https://github.com/jgm/pandoc/releases/download/1.19.1/pandoc-1.19.1-1-amd64.deb && sudo dpkg -i pandoc-1.19.1-1-amd64.deb
|
10
|
+
- wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz && tar -xf install-tl-unx.tar.gz && cd install-tl-* && sudo ./install-tl -no-gui -profile ../spec/dependencias/texlive-abntex2.profile -no-verify-downloads && cd ..
|
11
|
+
- export PATH=$PATH:/usr/local/texlive/2016/bin/x86_64-linux
|
12
|
+
script:
|
13
|
+
- latexmk -v
|
14
|
+
- xelatex -v
|
15
|
+
- pdftotext -v
|
16
|
+
- pandoc -v
|
17
|
+
- libreoffice --version
|
18
|
+
- bundle exec rake
|
19
|
+
- bundle exec rake spec:latex
|
20
|
+
after_failure:
|
21
|
+
- cd /usr/local/texlive && find . -iname latexmk
|
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,32 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v0.6.3](https://github.com/abntex/limarka/tree/v0.6.3) (2017-01-15)
|
4
|
+
[Full Changelog](https://github.com/abntex/limarka/compare/v0.6.2...v0.6.3)
|
5
|
+
|
6
|
+
**Melhorias implementadas:**
|
7
|
+
|
8
|
+
- Fazer os testes Latex passarem no travis [\#113](https://github.com/abntex/limarka/issues/113)
|
9
|
+
- Tornar a ajuda \(o wiki\) acessível off-line [\#105](https://github.com/abntex/limarka/issues/105)
|
10
|
+
- Melhorias de navegação no Wiki [\#101](https://github.com/abntex/limarka/issues/101)
|
11
|
+
|
12
|
+
**Bugs corrigidos:**
|
13
|
+
|
14
|
+
- Erro quando há espaço no path do diretório no Windows [\#117](https://github.com/abntex/limarka/issues/117)
|
15
|
+
|
16
|
+
**Issues fechados:**
|
17
|
+
|
18
|
+
- Apresentar a ferramenta utilizando gif animados [\#114](https://github.com/abntex/limarka/issues/114)
|
19
|
+
- Write a better CONTRIBUTING and README [\#99](https://github.com/abntex/limarka/issues/99)
|
20
|
+
- Software paper writing [\#94](https://github.com/abntex/limarka/issues/94)
|
21
|
+
- Several actions related to the software paper [\#93](https://github.com/abntex/limarka/issues/93)
|
22
|
+
- Comunicar a equipe do abntex sobre o lançamento do limarka [\#66](https://github.com/abntex/limarka/issues/66)
|
23
|
+
|
3
24
|
## [v0.6.2](https://github.com/abntex/limarka/tree/v0.6.2) (2017-01-09)
|
4
25
|
[Full Changelog](https://github.com/abntex/limarka/compare/v0.6.1...v0.6.2)
|
5
26
|
|
6
27
|
**Bugs corrigidos:**
|
7
28
|
|
8
|
-
- problema no
|
29
|
+
- Falta do gem ffi causa problema no Windows [\#115](https://github.com/abntex/limarka/issues/115)
|
9
30
|
|
10
31
|
## [v0.6.1](https://github.com/abntex/limarka/tree/v0.6.1) (2017-01-08)
|
11
32
|
[Full Changelog](https://github.com/abntex/limarka/compare/v0.6.0...v0.6.1)
|
data/CONTRIBUTING.md
CHANGED
@@ -1,14 +1,19 @@
|
|
1
|
-
#
|
1
|
+
# Contribuindo com o projeto
|
2
2
|
|
3
3
|
No momento, as maiores contribuições são: utilizar a ferramenta, [realizar o experimento]
|
4
4
|
e [divulgá-la](https://github.com/abntex/limarka/wiki/Imprensa).
|
5
5
|
|
6
6
|
[realizar o experimento]: https://github.com/abntex/limarka/wiki/Experimentos
|
7
7
|
|
8
|
+
Pull requests são sempre bem vindos. Ao participar desse projeto você está de
|
9
|
+
acordo com o [código de conduda].
|
10
|
+
|
8
11
|
O projeto tem como origem uma pesquisa científica (em andamento) sobre utilização de linguagem de marcação de texto para elaboração de monografias.
|
9
12
|
|
10
13
|
- [Realize o experimento de utilização](https://github.com/abntex/limarka/wiki/Experimentos)
|
11
14
|
|
15
|
+
Acesse o [chat no gitter](http://gitter.im/abntex/limarka) e fale conosco, independente do seu perfil.
|
16
|
+
|
12
17
|
# Professor
|
13
18
|
|
14
19
|
Como professor você pode contribuir com o limarka divulgando-o e ofertando o limarka como uma opção para seus alunos realizarem tarefas.
|
@@ -35,13 +40,9 @@ Como professor você pode contribuir com o limarka divulgando-o e ofertando o li
|
|
35
40
|
- Escreva seu trabalho de conclusão ou sua proposta/projeto com o limarka e compartilhe sua experiência
|
36
41
|
- Clique na estrela [no repositório do projeto](https://github.com/abntex/limarka) (equivale a um *like*) no github.
|
37
42
|
|
38
|
-
# Designer
|
39
|
-
|
40
|
-
- [Precisamos de ajuda para criar um logotipo para o projeto](https://github.com/abntex/limarka/issues/102).
|
41
|
-
|
42
43
|
# Usuário Latex
|
43
44
|
|
44
|
-
|
45
|
+
Gostaríamos de converter as [customizações conhecidas do abnTeX2](https://github.com/abntex/abntex2/wiki/CustomizacoesConhecidas) para utilização com o limarka.
|
45
46
|
|
46
47
|
# Desenvolvedor Ruby
|
47
48
|
|
@@ -53,6 +54,20 @@ Ao participar desse projeto você está de acordo com o [código de conduda].
|
|
53
54
|
|
54
55
|
[código de conduda]: https://github.com/abntex/limarka/blob/master/CODE_OF_CONDUCT.md
|
55
56
|
|
57
|
+
# Desenvolvedor WEB
|
58
|
+
|
59
|
+
Nós desejamos melhorar a experiência de utilização da ferramenta implementando
|
60
|
+
um site que gere conteúdos dinâmicos.
|
61
|
+
|
62
|
+
Suponha que um usuário deseja adicionar uma referência de um artigo, gostaria
|
63
|
+
que o usuário clicasse em "Artigo" e um formulário fosse apresentado para
|
64
|
+
preenchimento e acordo com os campos bib desse tipo de entrada. Quando o usuário
|
65
|
+
vai preenchendo o código bib é gerado automaticamente para inserção no arquivo
|
66
|
+
de referências.
|
67
|
+
|
68
|
+
Para compreender a funcionalidade veja o site [http://shields.io](http://shields.io/) e clique em algum dos badges.
|
69
|
+
|
70
|
+
|
56
71
|
## Implementando uma nova funcionalidade
|
57
72
|
|
58
73
|
[Crie um issue](https://github.com/abntex/limarka/issues/new) descrevendo a nova funcionalidade.
|
data/README.md
CHANGED
@@ -10,8 +10,7 @@ Olá! Bem vindo ao limarka!
|
|
10
10
|
|
11
11
|
O limarka é uma ferramenta que possibilita seus usuários escreverem relatórios ou trabalhos de conclusão de curso (Monografia, TCC, Dissertação ou Tese) em arquivos somente texto e **produzir PDFs em conformidades com as Normas da ABNT**. A produção desse tipo de trabalho é um momento sensível na vida dos estudantes, que pode contribuir para evasão no ensino superior. O objetivo do limarka é liberar dos estudantes os esforços de formatação e adequação às Normas da ABNT, deixando-os concentrar-se no planejamento, execução e escrita de seus trabalhos.
|
12
12
|
|
13
|
-
|
14
|
-
# Especificidades do limarka
|
13
|
+
# Quem utiliza o limarka diz que ele é fácil e prazeroso, descubra o porquê!
|
15
14
|
|
16
15
|
<!-- Explain what makes your project special, useful, exciting! -->
|
17
16
|
|
@@ -22,12 +21,16 @@ O limarka é uma ferramenta que possibilita seus usuários escreverem relatório
|
|
22
21
|
* Permite a escrita do trabalho em arquivos somente texto, utilizando Markdown
|
23
22
|
* As configurações são realizadas em um arquivo de formulário em PDF
|
24
23
|
|
24
|
+
## Exemplo de utilização do limarka
|
25
|
+
|
26
|
+
![logo](https://raw.githubusercontent.com/wiki/abntex/limarka/imagens/escrevendo-objetivos-em-markdown.gif)
|
27
|
+
|
25
28
|
# Como iniciar utilização
|
26
29
|
|
27
30
|
<!-- Show how to get started using or contribution to the project -->
|
28
31
|
|
29
|
-
- [Veja se o visual do PDF gerado com a ferramenta lhe satisfaz](https://github.com/abntex/trabalho-academico-limarka/releases/download/v0.2.0/xxx-Monografia-projeto.pdf)
|
30
32
|
- [Para começar a utilizar a ferramenta siga as instruções no wiki do projeto](https://github.com/abntex/limarka/wiki)
|
33
|
+
- Lembre-se de acessar o [chat no gitter](http://gitter.im/abntex/limarka) para tirar suas dúvidas sobre a ferramenta.
|
31
34
|
|
32
35
|
# Contribuindo com o projeto
|
33
36
|
|
@@ -57,13 +60,22 @@ Veja como é fácil contribuir!
|
|
57
60
|
|
58
61
|
- Auxilie na criação de templates latex customizados para as instituições
|
59
62
|
|
60
|
-
## Desenvolvedor Ruby
|
63
|
+
## Desenvolvedor Ruby
|
61
64
|
|
62
65
|
[![GitHub issues](https://img.shields.io/github/issues/abntex/limarka.svg)](https://github.com/abntex/limarka/issues)
|
63
66
|
|
64
67
|
- [Escolha uma das funcionalidades para implementar](https://github.com/abntex/limarka/issues)
|
65
68
|
- Notifique ou corrija um Bug
|
66
69
|
|
70
|
+
Acesse o [chat no gitter](http://gitter.im/abntex/limarka) e fale conosco!
|
71
|
+
|
72
|
+
## Desenvolvedor Web
|
73
|
+
|
74
|
+
Nós desejamos melhorar a experiência de utilização da ferramenta implementando
|
75
|
+
um site que gere conteúdos dinâmicos, gostaria de contribuir?
|
76
|
+
|
77
|
+
Acesse o [chat no gitter](http://gitter.im/abntex/limarka) e fale conosco!
|
78
|
+
|
67
79
|
## Todas as formas de contribuição
|
68
80
|
|
69
81
|
Consulte o arquivo [CONTRIBUTING.md](CONTRIBUTING.md) para verificar todas as formas de contribuições.
|
@@ -72,7 +84,7 @@ Consulte o arquivo [CONTRIBUTING.md](CONTRIBUTING.md) para verificar todas as fo
|
|
72
84
|
|
73
85
|
## Deseja entrar em contato?
|
74
86
|
|
75
|
-
O meio de comunicação oficial do limarka é uma sala de bate papo no gitter: [![Join the chat at https://gitter.im/abntex/limarka](https://badges.gitter.im/abntex/limarka.svg)](https://gitter.im/abntex/limarka
|
87
|
+
O meio de comunicação oficial do limarka é uma sala de bate papo no gitter: [![Join the chat at https://gitter.im/abntex/limarka](https://badges.gitter.im/abntex/limarka.svg)](https://gitter.im/abntex/limarka)
|
76
88
|
|
77
89
|
# Links
|
78
90
|
|
@@ -80,42 +92,16 @@ O meio de comunicação oficial do limarka é uma sala de bate papo no gitter: [
|
|
80
92
|
- [Vídeos](https://www.youtube.com/playlist?list=PLTnAY6TvPRKK6OgGYy3UA0oFdfCfRZesY) -- recomendo assistir em velocidade rápida
|
81
93
|
- [Convite para realização de experimento de utilização](https://github.com/abntex/limarka/wiki/Experimentos)
|
82
94
|
|
83
|
-
#
|
84
|
-
|
85
|
-
O LaTeX é ótimo e bastante útil para quem deseja percorrer uma carreira de Pesquisador. Muitos *journals* disponibilizam modelos somente em LaTeX para produção de artigos, aprender LaTeX irá ser útil nessa carreira. Mas se você não pretende utilizar LaTeX após a conclusão do seu curso, por que investir na longa curva de aprendizado do LaTeX?
|
86
|
-
|
87
|
-
Com o limarka você agora possui outra alternativa de investimento: *aprender Markdown* (que é bastante simples).
|
88
|
-
|
89
|
-
O [Markdown](https://pt.wikipedia.org/wiki/Markdown) é uma [linguagem simples de marcação](https://en.wikipedia.org/wiki/Lightweight_markup_language). Os princípios das linguagem simples de marcação estão sendo popularizados em diversas ferramentas de interação social, veja alguns exemplos: [Github](https://help.github.com/articles/basic-writing-and-formatting-syntax/), [Moodle](https://docs.moodle.org/23/en/Markdown), [WhatsApp](https://www.whatsapp.com/faq/en/general/26000002), [Facebook](http://wersm.com/facebook-is-testing-rich-text-formatting-with-markdown/) [Google Plus](https://plus.google.com/+SarahHill/posts/TWYwPctEpJp), [Jekyll](http://jekyllrb.com), etc.
|
90
|
-
|
91
|
-
Após ou durante conclusão do seu curso, você pretende:
|
92
|
-
|
93
|
-
- Interagir através da escrita em redes sociais ou fóruns de discussão?
|
94
|
-
- Editar Wikis ou formatar mensagens?
|
95
|
-
- Participar em projetos no Github?
|
96
|
-
- Escrever documentações de softwares?
|
97
|
-
- Gerar código HTML a partir de texto?
|
98
|
-
- Elaborar *ebooks*?
|
99
|
-
|
100
|
-
Se você respondeu afirmativamente a algumas dessas perguntas, aprender uma linguagem simples de marcação (como o Markdown) é um investimento rentável.
|
101
|
-
|
102
|
-
**OBS:** A implementação atual do limarka ainda exige conhecimentos mínimos do Latex.
|
103
|
-
|
104
|
-
# Qual a relação do limarka com o abnTeX?
|
105
|
-
|
106
|
-
O [abnTeX](https://github.com/abntex) provém uma suíte para LaTeX que atende os requisitos das normas da ABNT (Associação Brasileira de Normas Técnicas) para elaboração de trabalhos acadêmicos como teses, dissertações, projetos de pesquisa e outros documentos do gênero.
|
107
|
-
|
108
|
-
O limarka converte os textos produzidos em Markdown para LaTeX, utilizando os modelos do abnTeX2 (que são extensivamente testados e incrementados pela comunidade nacional), produzindo um PDF em conformidade com as Normas da ABNT. O limarka é um projeto pertencente ao grupo do [abnTeX](https://github.com/abntex).
|
109
|
-
|
110
|
-
# Funcionalidades
|
95
|
+
# Funcionalidades do limarka
|
111
96
|
|
112
97
|
- Utilização da linguagem Markdown para escrita do texto;
|
113
98
|
- Configurações através de formulário PDF ou arquivo YAML;
|
114
99
|
- Possibilidade de inclusão de códigos Latex;
|
115
|
-
- Facilidade para geração de códigos para inclusão de Figuras, Tabelas, Referências e Citações;
|
100
|
+
- Facilidade para geração de códigos para inclusão de Figuras, Quadros, Tabelas, Referências e Citações;
|
116
101
|
- Facilidade em edição ou personalização de templates;
|
117
102
|
- Facilidade de obter suporte ao código Latex gerado (compatível com o estilo do abnTeX2);
|
118
103
|
|
119
104
|
# License
|
120
105
|
|
121
106
|
Esse gem é disponibilizado como software livre através da [Licença MIT](http://opensource.org/licenses/MIT).
|
107
|
+
|
data/Rakefile
CHANGED
@@ -10,16 +10,15 @@ require 'pdf_forms'
|
|
10
10
|
require 'github_changelog_generator/task'
|
11
11
|
|
12
12
|
|
13
|
-
desc 'Executa os testes
|
14
|
-
RSpec::Core::RakeTask.new('spec:latex') do |t|
|
15
|
-
t.rspec_opts = "--tag compilacao"
|
16
|
-
end
|
17
|
-
|
13
|
+
desc 'Executa os testes ruby'
|
18
14
|
RSpec::Core::RakeTask.new('spec') do |t|
|
19
|
-
|
20
|
-
t.rspec_opts = "--tag ~compilacao"
|
15
|
+
t.rspec_opts = "--tag ~compilacao --tag ~dependencias_latex"
|
21
16
|
end
|
22
17
|
|
18
|
+
desc 'Executa os testes com compilação Latex'
|
19
|
+
RSpec::Core::RakeTask.new('spec:latex') do |t|
|
20
|
+
t.rspec_opts = "--tag compilacao --tag dependencias_latex"
|
21
|
+
end
|
23
22
|
|
24
23
|
task :default => [:configuracao_padrao, 'spec']
|
25
24
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"@context": "https://raw.githubusercontent.com/mbjones/codemeta/master/codemeta.jsonld",
|
3
|
+
"@type": "Code",
|
4
|
+
"author": [
|
5
|
+
{
|
6
|
+
"@id": "http://orcid.org/0000-0002-9165-9438",
|
7
|
+
"@type": "Person",
|
8
|
+
"email": "eduardo.ufpb@gmail.com",
|
9
|
+
"name": "Eduardo de Santana Medeiros Alexandre",
|
10
|
+
"affiliation": "Universidade Federal da Paraíba"
|
11
|
+
}
|
12
|
+
],
|
13
|
+
"identifier": "",
|
14
|
+
"codeRepository": "https://github.com/abntex/limarka",
|
15
|
+
"datePublished": "2016-12-08",
|
16
|
+
"dateModified": "2016-12-08",
|
17
|
+
"dateCreated": "2016-12-08",
|
18
|
+
"description": "Limarka makes possible to write dissertation and thesis with Markdown and produces PDFs according to Brazilian's ABNT standard.",
|
19
|
+
"keywords": "limarka,ABNT,markdown,dissertation,thesis",
|
20
|
+
"license": "MIT",
|
21
|
+
"title": "limarka",
|
22
|
+
"version": "v0.5.1"
|
23
|
+
}
|
data/docs/paper/generate
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
3
|
+
# For an OO language, this is distinctly procedural. Should probably fix that.
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
details = Hash.new({})
|
7
|
+
|
8
|
+
capture_params = [
|
9
|
+
{ :name => "title", :message => "Enter project name." },
|
10
|
+
{ :name => "url", :message => "Enter the URL of the project repository." },
|
11
|
+
{ :name => "description", :message => "Enter the (short) project description." },
|
12
|
+
{ :name => "license", :message => "Enter the license this software shared under. (hit enter to skip)\nFor example MIT, BSD, GPL v3.0, Apache 2.0" },
|
13
|
+
{ :name => "doi", :message => "Enter the DOI of the archived version of this code. (hit enter to skip)\nFor example http://dx.doi.org/10.6084/m9.figshare.828487" },
|
14
|
+
{ :name => "keywords", :message => "Enter keywords that should be associated with this project (hit enter to skip)\nComma-separated, for example: turkey, chicken, pot pie" },
|
15
|
+
{ :name => "version", :message => "Enter the version of your software (hit enter to skip)\nSEMVER preferred: http://semver.org e.g. v1.0.0" }
|
16
|
+
]
|
17
|
+
|
18
|
+
puts "I'm going to try and help you prepare some things for your JOSS submission"
|
19
|
+
puts "If all goes well then we'll have a nice codemeta.json file soon..."
|
20
|
+
puts ""
|
21
|
+
puts "************************************"
|
22
|
+
puts "* First, some basic details *"
|
23
|
+
puts "************************************"
|
24
|
+
puts ""
|
25
|
+
|
26
|
+
# Loop through the desired captures and print out for clarity
|
27
|
+
capture_params.each do |param|
|
28
|
+
puts param[:message]
|
29
|
+
print "> "
|
30
|
+
input = gets
|
31
|
+
|
32
|
+
details[param[:name]] = input.chomp
|
33
|
+
|
34
|
+
puts ""
|
35
|
+
puts "OK, your project has #{param[:name]}: #{input}"
|
36
|
+
puts ""
|
37
|
+
end
|
38
|
+
|
39
|
+
puts ""
|
40
|
+
puts "************************************"
|
41
|
+
puts "* Experimental stuff *"
|
42
|
+
puts "************************************"
|
43
|
+
puts ""
|
44
|
+
|
45
|
+
puts "Would you like me to try and build a list of authors for you?"
|
46
|
+
puts "(You need to be running this script in a git repository for this to work)"
|
47
|
+
print "> (Y/N)"
|
48
|
+
answer = gets.chomp
|
49
|
+
|
50
|
+
case answer.downcase
|
51
|
+
when "y", "yes"
|
52
|
+
|
53
|
+
# Use git shortlog to extract a list of author names and commit counts.
|
54
|
+
# Note we don't extract emails here as there's often different emails for
|
55
|
+
# each user. Instead we capture emails at the end.
|
56
|
+
|
57
|
+
git_log = `git shortlog --summary --numbered --no-merges`
|
58
|
+
|
59
|
+
# ["252\tMichael Jackson", "151\tMC Hammer"]
|
60
|
+
authors_and_counts = git_log.split("\n").map(&:strip)
|
61
|
+
|
62
|
+
authors_and_counts.each do |author_count|
|
63
|
+
count, author = author_count.split("\t").map(&:strip)
|
64
|
+
|
65
|
+
puts "Looks like #{author} made #{count} commits"
|
66
|
+
puts "Add them to the output?"
|
67
|
+
print "> (Y/N)"
|
68
|
+
answer = gets.chomp
|
69
|
+
|
70
|
+
# If a user chooses to add this author to the output then we ask for some
|
71
|
+
# additional information including their email, ORCID and affiliation.
|
72
|
+
case answer.downcase
|
73
|
+
when "y", "yes"
|
74
|
+
puts "What is #{author}'s email address? (hit enter to skip)"
|
75
|
+
print "> "
|
76
|
+
email = gets.chomp
|
77
|
+
|
78
|
+
puts "What is #{author}'s ORCID? (hit enter to skip)"
|
79
|
+
puts "For example: http://orcid.org/0000-0000-0000-0000"
|
80
|
+
print "> "
|
81
|
+
orcid = gets.chomp
|
82
|
+
|
83
|
+
puts "What is #{author}'s affiliation? (hit enter to skip)"
|
84
|
+
print "> "
|
85
|
+
affiliation = gets.chomp
|
86
|
+
|
87
|
+
|
88
|
+
details['authors'].merge!(author => { 'commits' => count,
|
89
|
+
'email' => email,
|
90
|
+
'orcid' => orcid,
|
91
|
+
'affiliation' => affiliation })
|
92
|
+
|
93
|
+
when "n", "no"
|
94
|
+
puts "OK boss..."
|
95
|
+
puts ""
|
96
|
+
end
|
97
|
+
end
|
98
|
+
when "n", "no"
|
99
|
+
puts "OK boss..."
|
100
|
+
puts ""
|
101
|
+
end
|
102
|
+
|
103
|
+
puts "Reticulating splines"
|
104
|
+
|
105
|
+
5.times do
|
106
|
+
print "."
|
107
|
+
sleep 0.5
|
108
|
+
end
|
109
|
+
|
110
|
+
puts ""
|
111
|
+
puts "Generating some JSON goodness..."
|
112
|
+
|
113
|
+
# TODO: work out how to use some kind of JSON template here.
|
114
|
+
# Build the output list of authors from the inputs we've collected.
|
115
|
+
output_authors = []
|
116
|
+
|
117
|
+
details['authors'].each do |author_name, values|
|
118
|
+
entry = {
|
119
|
+
"@id" => values['orcid'],
|
120
|
+
"@type" => "Person",
|
121
|
+
"email" => values['email'],
|
122
|
+
"name" => author_name,
|
123
|
+
"affiliation" => values['affiliation']
|
124
|
+
}
|
125
|
+
output_authors << entry
|
126
|
+
end
|
127
|
+
|
128
|
+
# TODO: this is currently a static template (written out here). It would be good
|
129
|
+
# to do something smarter here.
|
130
|
+
output = {
|
131
|
+
"@context" => "https://raw.githubusercontent.com/mbjones/codemeta/master/codemeta.jsonld",
|
132
|
+
"@type" => "Code",
|
133
|
+
"author" => output_authors,
|
134
|
+
"identifier" => details['doi'],
|
135
|
+
"codeRepository" => details['url'],
|
136
|
+
"datePublished" => Time.now.strftime("%Y-%m-%d"),
|
137
|
+
"dateModified" => Time.now.strftime("%Y-%m-%d"),
|
138
|
+
"dateCreated" => Time.now.strftime("%Y-%m-%d"),
|
139
|
+
"description" => details['description'],
|
140
|
+
"keywords" => details['keywords'],
|
141
|
+
"license" => details['license'],
|
142
|
+
"title" => details['title'],
|
143
|
+
"version" => details['version']
|
144
|
+
}
|
145
|
+
|
146
|
+
File.open('codemeta.json', 'w') {|f| f.write(JSON.pretty_generate(output)) }
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# Open Canvas
|
2
|
+
|
3
|
+
**Project**: [limarka](https://github.com/abntex/limarka)
|
4
|
+
|
5
|
+
<!-- See http://mozillascience.github.io/working-open-workshop/writing_readme/ -->
|
6
|
+
|
7
|
+
# Problem
|
8
|
+
|
9
|
+
<!-- The Top 1-3 problems you want to solve -->
|
10
|
+
|
11
|
+
1. Saber as Normas da ABNT atuais
|
12
|
+
2. Saber como implementar as normas da ABNT atuais no editor (Configuração de Páginas, seções, estilos, formatação, sumário, apêndices, anexos, etc.)
|
13
|
+
3. Manter consistente as citações e referências no documento.
|
14
|
+
|
15
|
+
|
16
|
+
# Solution
|
17
|
+
|
18
|
+
<!-- -->
|
19
|
+
|
20
|
+
1. Exigir conhecimentos mínimos sobre as normas ABNT.
|
21
|
+
2. Modelo com estilos pré-configurados e de fácil utilização.
|
22
|
+
3. Sistema para gerenciamento de citações e elaboração das referências automaticamente.
|
23
|
+
|
24
|
+
# Key Metrics
|
25
|
+
|
26
|
+
<!-- How will you mesure success? -->
|
27
|
+
|
28
|
+
- [Estrelas do projeto](https://github.com/abntex/limarka/stargazers)
|
29
|
+
- Tráfegos de acesso no github: [limarka](https://github.com/abntex/limarka/graphs/traffic), [trabalho-academico-limarka
|
30
|
+
](https://github.com/abntex/trabalho-academico-limarka
|
31
|
+
/graphs/traffic)
|
32
|
+
- [Notificações de trabalhos escritos com o limarka](https://github.com/abntex/limarka/wiki/M%C3%A9tricas)
|
33
|
+
|
34
|
+
# Unique Value Proposition
|
35
|
+
|
36
|
+
<!-- -->
|
37
|
+
|
38
|
+
- O documento é escrito e formatado facilmente utilizando marcações no texto
|
39
|
+
- Não exige conhecimentos técnicos para configuração, que é realizada através do preenchimento de um formulário PDF
|
40
|
+
- Ótimo visual do documento de apresentação, pois é baseado no modelo Latex de trabalhos acadêmicos mantido pela comunidade abnTeX.
|
41
|
+
- Solução Gratuita, software livre.
|
42
|
+
|
43
|
+
# User profiles
|
44
|
+
|
45
|
+
<!-- -->
|
46
|
+
<!-- target audience and early adopters -->
|
47
|
+
|
48
|
+
- Alunos com conhecimentos técnicos de informática que precisam escrever relatórios ou trabalhos de conclusão.
|
49
|
+
- Mestrandos em computação/informática que precisam escrever a dissertação. (*early adopters*)
|
50
|
+
|
51
|
+
# User channels
|
52
|
+
|
53
|
+
<!-- -->
|
54
|
+
|
55
|
+
- Instruções das coordenações/instituições para produção dos trabalhos acadêmicos sugerindo utilização do limarka.
|
56
|
+
- Instruções de tarefas submetidas aos alunos/aprendentes sugerindo utilização do limarka.
|
57
|
+
- Páginas pessoais/institucionais de professores.
|
58
|
+
- Listas de discussões de alunos universitários.
|
59
|
+
- Publicidade nas agências de noticias universitárias.
|
60
|
+
|
61
|
+
# Resources required
|
62
|
+
|
63
|
+
<!-- -->
|
64
|
+
- Sistema para conversão de Markdown para Latex;
|
65
|
+
- Templates Latex para produção de trabalhos de conclusão em conformidade com as Normas da ABNT;
|
66
|
+
- Desenvolvedor ruby;
|
67
|
+
- Estrutural inicial de trabalho de conclusão de curso;
|
68
|
+
- Câmera e Microfone: gravação de vídeos para o canal.
|
69
|
+
|
70
|
+
# Contributor Profiles
|
71
|
+
|
72
|
+
<!-- Contributor types and ideal contributors -->
|
73
|
+
|
74
|
+
- Professores que solicitam trabalhos/relatórios aos alunos
|
75
|
+
- Orientadores que desejam otimizar o tempo de discussões metodológicas com seus orientandos
|
76
|
+
- Estudantes de informática que desejam produzir os trabalhos com agilidade
|
77
|
+
- Usuários Latex que desejam elaborar novos templates
|
78
|
+
- Desenvolvedores Ruby que desejam implementar novas funcionalidades
|
79
|
+
|
80
|
+
# Contributor Channels
|
81
|
+
|
82
|
+
<!-- -->
|
83
|
+
|
84
|
+
- [Publicidade nas agências de noticias universitárias](https://github.com/abntex/limarka/wiki/Imprensa)
|
85
|
+
- [CONTRIBUTING.md no repositório do projeto](https://github.com/abntex/limarka/blob/master/CONTRIBUTING.md)
|
86
|
+
- [Canal do limarka Youtube](https://www.youtube.com/channel/UC4kERewtyT_nw__YHbKMdBA)
|
@@ -0,0 +1,40 @@
|
|
1
|
+
@online{Pandoc,
|
2
|
+
author = {John MacFarlane},
|
3
|
+
title = {Pandoc a universal document converter},
|
4
|
+
year = 2007,
|
5
|
+
url = {http://pandoc.org},
|
6
|
+
urldate = {2016-12-08}
|
7
|
+
}
|
8
|
+
|
9
|
+
@online{abnTeX2,
|
10
|
+
author = {abnTeX},
|
11
|
+
title = {Classe LaTeX e estilo bibliográfico compatíveis com as normas da ABNT},
|
12
|
+
year = 2016,
|
13
|
+
url = {http://www.abntex.net.br},
|
14
|
+
urldate = {2016-12-08}
|
15
|
+
}
|
16
|
+
|
17
|
+
@online{YAML,
|
18
|
+
author = {YAML},
|
19
|
+
title = {YAML Ain't Markup Language},
|
20
|
+
year = 2001,
|
21
|
+
url = {http://yaml.org},
|
22
|
+
urldate = {2016-12-08}
|
23
|
+
}
|
24
|
+
|
25
|
+
|
26
|
+
@online{form,
|
27
|
+
author = {Richard Foersom},
|
28
|
+
title = {Create PDF Forms with LibreOffice},
|
29
|
+
year = 2016,
|
30
|
+
url = {http://foersom.com/org/HowTo/CreatePdfForm.html},
|
31
|
+
urldate = {2016-12-08}
|
32
|
+
}
|
33
|
+
|
34
|
+
@manual{NBR14724:2011,
|
35
|
+
Address = {Rio de Janeiro},
|
36
|
+
Org-Short = {ABNT},
|
37
|
+
Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
|
38
|
+
Pages = 15,
|
39
|
+
Title = {{NBR} 14724},
|
40
|
+
Year = 2011}
|
data/docs/paper/paper.md
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
title: 'Limarka: making possible Brazilian students writing dissertation and thesis with Markdown'
|
3
|
+
tags:
|
4
|
+
- limarka
|
5
|
+
- markdown
|
6
|
+
- writing
|
7
|
+
- dissertation
|
8
|
+
- thesis
|
9
|
+
- abnt
|
10
|
+
authors:
|
11
|
+
- name: Eduardo S M Alexandre
|
12
|
+
orcid: 0000-0002-9165-9438
|
13
|
+
affiliation: 1
|
14
|
+
affiliations:
|
15
|
+
- name: Universidade Federal da Paraíba
|
16
|
+
index: 1
|
17
|
+
date: 15 January 2017
|
18
|
+
bibliography: paper.bib
|
19
|
+
---
|
20
|
+
|
21
|
+
# Summary
|
22
|
+
|
23
|
+
Many Brazilian's students have to write Monograph, Dissertation or Thesis at the
|
24
|
+
end of their course. But these documents must be written according to Brazilian's
|
25
|
+
@NBR14724:2011 standard (ABNT). Despite the fact that this standard is not public available
|
26
|
+
(it's for sale), it changes over time and has many rules.
|
27
|
+
|
28
|
+
Limarka makes possible to produce these documents according to ABNT standard,
|
29
|
+
by writing it with Markdown. Where the Markdown syntax is not expressive enough
|
30
|
+
to follow ABNT rules, the user will need to input Latex code, and limarka
|
31
|
+
makes it easier.
|
32
|
+
|
33
|
+
Limarka uses @pandoc to convert documents from Markdown to Latex, but uses custom
|
34
|
+
templates based on @abnTeX2 and configuration is done by filling a PDF @form,
|
35
|
+
instead of editing files with @YAML format.
|
36
|
+
|
37
|
+
# References
|
38
|
+
|
data/lib/limarka/cli.rb
CHANGED
@@ -284,7 +284,8 @@ TEX
|
|
284
284
|
when "rascunho"
|
285
285
|
system "limarka", "exec", "--rascunho=rascunho.md"
|
286
286
|
else
|
287
|
-
"
|
287
|
+
"Você digitou a opção #{cmd} -- esta não é uma opção válida, apresentando o menu.\n"
|
288
|
+
puts table
|
288
289
|
end
|
289
290
|
end
|
290
291
|
|
data/lib/limarka/conversor.rb
CHANGED
@@ -80,7 +80,7 @@ module Limarka
|
|
80
80
|
"epigrafe", "resumo", "abstract", "lista_ilustracoes", "lista_tabelas",
|
81
81
|
"lista_siglas", "lista_simbolos", "sumario"].each_with_index do |secao,indice|
|
82
82
|
template = "pretextual#{indice+1}-#{secao}"
|
83
|
-
Open3.popen3("pandoc -f markdown --data-dir=#{options[:templates_dir]} --template=#{template} -t latex") {|stdin, stdout, stderr, wait_thr|
|
83
|
+
Open3.popen3("pandoc -f markdown \"--data-dir=#{options[:templates_dir]}\" --template=#{template} -t latex") {|stdin, stdout, stderr, wait_thr|
|
84
84
|
stdin.write(hash_to_yaml(t.configuracao))
|
85
85
|
stdin.write("\n")
|
86
86
|
if t.errata? and necessita_de_arquivo_de_texto.include?(secao) then
|
@@ -140,7 +140,7 @@ module Limarka
|
|
140
140
|
def secao(template, condicao_para_conteudo, conteudo_externo)
|
141
141
|
s = StringIO.new
|
142
142
|
|
143
|
-
Open3.popen3("pandoc -f markdown --data-dir=#{options[:templates_dir]} --template=#{template} --chapter -t latex") {|stdin, stdout, stderr, wait_thr|
|
143
|
+
Open3.popen3("pandoc -f markdown \"--data-dir=#{options[:templates_dir]}\" --template=#{template} --chapter -t latex") {|stdin, stdout, stderr, wait_thr|
|
144
144
|
stdin.write(hash_to_yaml(t.configuracao))
|
145
145
|
stdin.write("\n")
|
146
146
|
if (condicao_para_conteudo) then
|
@@ -176,7 +176,7 @@ module Limarka
|
|
176
176
|
|
177
177
|
def textual(pretextual_tempfile, postextual_tempfile)
|
178
178
|
valida_yaml
|
179
|
-
Open3.popen3("pandoc -f markdown+raw_tex -t latex -s --data-dir=#{options[:templates_dir]} --template=trabalho-academico --normalize --chapter --include-before-body=#{pretextual_tempfile.path} --include-after-body=#{postextual_tempfile.path}") {|stdin, stdout, stderr, wait_thr|
|
179
|
+
Open3.popen3("pandoc -f markdown+raw_tex -t latex -s \"--data-dir=#{options[:templates_dir]}\" --template=trabalho-academico --normalize --chapter --include-before-body=#{pretextual_tempfile.path} --include-after-body=#{postextual_tempfile.path}") {|stdin, stdout, stderr, wait_thr|
|
180
180
|
stdin.write(File.read(options[:templates_dir] + '/templates/configuracao-tecnica.yaml'))
|
181
181
|
stdin.write("\n")
|
182
182
|
stdin.write(hash_to_yaml(t.configuracao))
|
data/lib/limarka/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: limarka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo de Santana Medeiros Alexandre
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -219,6 +219,11 @@ files:
|
|
219
219
|
- bin/setup
|
220
220
|
- bin/test
|
221
221
|
- configuracao.odt
|
222
|
+
- docs/paper/codemeta.json
|
223
|
+
- docs/paper/generate
|
224
|
+
- docs/paper/open-canvas.md
|
225
|
+
- docs/paper/paper.bib
|
226
|
+
- docs/paper/paper.md
|
222
227
|
- errata.md
|
223
228
|
- exe/limarka
|
224
229
|
- imagens/configuracao/agradecimentos.png
|