Este repositório contém o código fonte do livro Start Concurrent: A Gentle Introduction to Concurrent Programming, essa é uma tradução livre, autorizada pelos autores @bwittman e @jtkorb, como segue na issue #145. Este livro está licenciado sob Apache License 2.0.
-
Git (e uma conta no GitHub para acessar repositório Start Concurrent)
-
Asciidoctor-Mathematical (note special instructions below for installing Mathematical on MacOS Mojave)
-
Asciidoctor Chunker (para converter para pedaços HTML)
-
Roswell (necessário para Asciidoctor Chunker)
-
Corrija o local do arquivo de cabeçalho do MacOS executando este comando em uma janela de terminal:
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
. -
Adicione o caminho do pacote Homebrew a PKG_CONFIG_PATH (por exemplo, em .bash_profile):
export PKG_CONFIG_PATH=“/usr/local/lib/pkgconfig”
Essas instruções são altamente dependentes da situação. Consulte Brew Install on Mojave para obter sugestões adicionais.
A maioria (todas?) das “figuras” no livro são feitas com o Adobe Illustrator e salvas em formato PDF, e estão localizadas na pasta figures
de cada capítulo em que aparecem. Para cada arquivo PDF, há um arquivo SVG correspondente localizado na pasta images
. O arquivo SVG é o que é importado pelo arquivo AsciiDoc.
Para criar uma nova figura ou editar uma já existente…
-
Crie ou edite o arquivo do Illustrator no subdiretório de figuras.
-
Salvar as alterações usando o formato padrão (PDF).
-
Converter temporariamente todo o texto em contornos:
-
Select > Select All
-
Type > Create Outlines
-
-
Em seguida,
Save a Copy As…
, usando o formato SVG e desmarcando a opção “Preserve Illustrator Editing Capability
”, para criar um arquivo .SVG no subdiretórioimages
.
Observação: não salve a versão de texto delineada de volta no arquivo PDF original!
$ ruby update-html.rb
Observação: o plug-in Asciidoctor Rouge é necessário para realçar a sintaxe.
-
Instale Asciidoctor Chunker, incluindo Roswell.
-
Crie a versão HTML completa do livro:
ruby update-html.rb
-
Converter usando o Asciidoctor Chunker (com
ascidoctor-chunker.ros
em seu caminho):
$ asciidoctor-chunker.ros full/index.html -o chunked
Um script UNIX para atualizar as versões completa e em pedaços do HTML está localizado no diretório raiz (update-html
).
-
Instale a gema Asciidoctor PDF.
-
Execute o Asciidoctor PDF para fazer a conversão:
$ (cd full; asciidoctor-pdf index.adoc -D ../pdf)
Há um bug no código prawn-table usado pelo Asciidoctor-PDF ao formatar determinadas tabelas. Há uma discussão e uma correção (até agora incompleta) aqui.
Etapas para corrigir o problema (simplificado para não usar um Gemfile):
-
Baixe o código mais recente do prawn-table em um repositório separado.
-
cd prawn-table
-
Compilar e instalar.
-
gem build prawn-table.gemspec
-
gem install prawn-table-0.2.3.gem
-
Essas etapas não corrigem todas as tabelas. Especificamente, nem todas as tabelas com largura automática funcionarão. Conselho do Asciidoctor authority é usar as proporções das colunas e a largura da tabela.
ATENÇÃO: Em progresso.
-
Atualizar fontes de livros para que estejam de acordo com o formato exigido. (Uma vez; em andamento.)
-
Instalar o AsciiDoctor EPUB3 gem.
-
Execute o Asciidoctor EPUB3 para fazer a conversão:
$ (cd full; asciidoctor-epub3 index.adoc -D ../epub3)
-
Etapas adicionais (TBD) convertem o documento para o formato Kindle (KF8/MOBI).
Outras gemas necessárias (aparentemente):