limarka 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+

|
|
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
|
[](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: [](https://gitter.im/abntex/limarka
|
|
87
|
+
O meio de comunicação oficial do limarka é uma sala de bate papo no gitter: [](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
|